PHP上传+ dropzoneJS:只允许一些文件扩展名

时间:2015-05-04 16:51:40

标签: php upload dropzone.js

我正在用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。

1 个答案:

答案 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.
    }