2014-03-13 212 views
0

我有這樣的代碼PHP MIME類型,限制上傳文件

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',我的代碼中是否有任何錯誤?

感謝

+0

你問是否有與此代碼的任何錯誤?你有沒有看到任何問題?或者這只是一個代碼審查請求? – Lix

+0

如果這是一個代碼審查請求,那麼它不適合[so]。也許[Codereview.SE](http://codereview.stackexchange.com/)是一個更好的地方發佈這個。 – Lix

+0

你想問什麼? –

回答

1

更換你if條件這是繼

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