Как проверить, есть ли расширение файла и тип 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; }
Проблема в том, что если тип файла не ВСЕ из типов в массиве (что невозможно), я получаю сообщение об ошибке. Он работает до такой степени, что если файл загрузки находится в массиве, сообщение об ошибке не будет запускаться.