我正在用PHP做一个简单的网站,我正在使用DropzoneJS来上传文件。我试图只允许以下扩展名:
pdf,png,jpg,jpeg,bmp和txt
。
请帮忙吗?抱歉英文不好
这是我的upload.php代码
$ds = DIRECTORY_SEPARATOR;
$foldername = "../common/uploads";
if (!empty($_FILES)) {
$fileupload = basename( $_FILES['file']['name']);
$fileType = $_FILES['file']['type'];
$fileSize = $_FILES['file']['size'];
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $foldername . $ds;
$targetFile = $targetPath. $fileupload;
move_uploaded_file($tempFile,$targetFile);
$upload_info = "Filetype : <b>".$fileType."</b> <br>File size : <b>".$fileSize."</b><br>File name : <b> ".$fileupload."</b>";
add_to_log($_SESSION['username'], 'upload', $upload_info);
}
干杯,MrZ。
答案 0 :(得分:0)
首先,如果dropzone发送文件或文件上传输入并不重要。它最终将以变量$ _FILES结束。即使受dropzone的限制,您也应该保留验证服务器端。
所以你需要搜索的是,
PHP upload
的 + dropzoneJS :
allow only some files extensions
虽然我在这,但我是怎么做的。
$valid_exts = array(// allowed extensions
'gif',
'jpeg',
'jpg',
'JPG',
'png',
);
$valid_types = array(
'image/gif',
'image/jpeg',
'image/jpg',
'image/pjpeg',
'image/x-png',
'image/png',
);
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);
// make sure extension and type are allowed
if (!(in_array($file['type'], $valid_types) && in_array($extension, $valid_exts))) {
echo 'File type not allowed.';
die();
} else {
// Do what ever you wish.
}