如何檢查文件擴展名和MIME類型是否在數組中,這是我目前擁有的代碼。從PHP中的數組中檢查上傳文件類型。
$upload_project_thum = $_FILES['upload_project_thum']['name'];
$upload_project_thum_ext = substr($upload_project_thum, strrpos($upload_project_thum, '.') + 1);
$upload_permitted_types= array('image/jpeg:jpg','image/pjpeg:jpg','image/gif:gif','image/png:png');
然後倒在那裏我檢查,如果該文件是一個有效的類型我有這樣的foreach循環
foreach ($upload_permitted_types as $image_type) {
$type = explode(":", $image_type);
if (($type[0] != $_FILES['upload_project_thum']['type']) && ($upload_project_thum_ext != $type[1])) {
$errmsg_arr[] = 'Please select a jpg, jpeg, gif, or png image to use as the project thumbnail'. $type[1] . " Type: ". $type[0];
$errflag = true;
}
的問題是,如果文件類型是不是所有的類型的數組(這是不可能的)我得到一個錯誤。它的工作原理是,如果上傳文件位於數組中,則錯誤消息不會觸發。
PHP不會將擴展映射到'$ _FILES'數組中的MIME類型嗎? – alex 2011-04-19 05:40:38