PHP MIME类型,限制上传文件

时间:2014-03-13 08:55:33

标签: php

我有这段代码

if(isset($_FILES['uploadfile']))   
    {  
    $maxsize    = 10485760; //10MBx1024
    $acceptable = array(
        'image/jpeg',       
        'image/jpg',
        'image/gif',
        'image/png',
        'application/pdf',
        'text/plain',
        'application/vnd.ms-excel',
        'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
        'application/vnd.ms-word',
        'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        'application/zip',
        'application/x-zip-compressed',
        'application/x-compressed',
        );

这是以下部分:

if((!in_array($_FILES['uploadfile']['type'], $acceptable)) && (!empty($_FILES["uploadfile"]["type"]))) 
{
$msg= "<b><img src=redwarn.png'><font color='red'> This file is not accepted.</b></font>";  

goto cancel; 
}

以上代码可能会限制用户上传的扩展程序,但我尝试上传了一个IMAGE文件,它出现了一个错误,该文件未被接受,但我确实在数组中添加了'image/jpeg' ,我的代码中有错误吗?

由于

1 个答案:

答案 0 :(得分:1)

替换以下if条件

if ($_FILES["uploadfile"]["error"] > 0){
      //add your code here
     //$maxsize=..
     //$acceptable_array=...
}