我想允許用戶,將文件上傳到我的服務器,我真的不知道這個語法OOP基於語法來獲取文件的MIME類型
// EDITED
$temp = "file.pdf";
$fileInfo = new finfo;
$getType = $fileInfo->file($temp, FILEINFO_MIME);
$fileExt = array('jpg' , 'jpeg' , 'gif' , 'png' , 'zip' , 'rar' , 'pdf' , 'doc' , 'rtf' , 'xls' , 'ppt' , 'odt' , 'ods');
$ext = strtolower( substr( strrchr($temp, '.') ,1) );
if(!in_array($ext, $fileExt)) {
echo "Ext not allowed"
}else {
if ($getType == "application/pdf" || $getType == "image/png") {
echo "Ok " .$getType;
}else {
echo "No " .$getType;
}
}
錯誤輸出:無應用程序/ pdf;
有什麼想法?
沒有什麼毛病高於T我可以看到的帽子; finfo是什麼? – Daedalus
使用MIME類型是不安全的。可以用僞造類型手動編碼MIME消息,該類型具有不合需要的擴展名(例如'.php')。 –
我也手動檢查文件擴展名如果(!in_array($ ext,$ fileExt)){....問題是爲什麼我得到「沒有應用程序/ pdf;」 ? – mafitsi