2013-08-01 38 views
2

所以,我目前使用了幾種不同的方法來檢查MIME類型。用戶使用表單上傳文件,抓住MIME類型,如果是應用程序/ zip,我允許,如果是其他任何東西,我否認它。問題是,什麼(瀏覽器我假設)正在發生變化,MIME類型爲「應用程序/八位字節流」在PHP中檢查「Magic Bytes」或Mime類型?

我想知道一個文件名爲.zip怎麼回事,我可以確認在形式上傳。

代碼:

$name = strtolower(end(explode('.', $filename))); 
    $accepted_types = array('application/zip', 'application/x-zip-compressed', 'multipart/x-zip', 'application/x-compressed'); 

    foreach($accepted_types as $good_type) { 
     if($good_type == $type) { 
      $okay = true; 
      break; 
     } else { 
      $okay = false; 
     } 
    } 
+0

可能重複的HTTP ://stackoverflow.com/questions/134833/how-do-i-find-the-mime-type-of-a-file-with-php) – BlitZ

+0

不應該有任何更改文件內容型應用表單文章中的八位字節流。你能證明你是如何處理的上傳請 – DevZer0

+0

也可以做'in_array($型,$ accepted_types);'你不需要一個循環。 – DevZer0

回答