Итак, я использовал несколько различных методов для проверки типа mime. Пользователь загружает файл, используя форму, я захватываю тип mime, если это приложение/zip, я разрешаю, если это что-то еще, я отрицаю это. Проблема в том, что что-то (браузеры, которые я предполагаю) меняет тип mime на «application/octet-stream»Проверка «Магических байтов» или Mime-типов в PHP?
Мне интересно, как еще я могу проверить файл .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;
}
}
возможно дубликат [Как найти мим-тип файла с PHP?] (HTTP : //stackoverflow.com/questions/134833/how-do-i-find-the-mime-type-of-a-file-with-php) – BlitZ
не должно быть никаких изменений в типе содержимого файла для приложения октет-поток в сообщении формы. вы можете показать, как ваша обработка загрузки, пожалуйста, – DevZer0
также вы можете сделать 'in_array ($ type, $ accepted_types);' вам не нужен цикл. – DevZer0