所以,我目前使用了幾種不同的方法來檢查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;
}
}
可能重複的HTTP ://stackoverflow.com/questions/134833/how-do-i-find-the-mime-type-of-a-file-with-php) – BlitZ
不應該有任何更改文件內容型應用表單文章中的八位字節流。你能證明你是如何處理的上傳請 – DevZer0
也可以做'in_array($型,$ accepted_types);'你不需要一個循環。 – DevZer0