如何检查文件扩展名和 mime 类型是否在数组中,这是我目前拥有的代码。
$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;
}
问题是,如果文件类型不是数组中的所有类型(这是不可能的),我会收到错误消息。它的工作原理是,如果上传文件在数组中,则不会触发错误消息。