Я пытаюсь проверить тип MIME загруженного файла в моем приложении PHP. Я загружаю файл, затем делаю это, где $ file - путь к моему файлу:
$finfo = new finfo(FILEINFO_MIME);
$mimetype = $finfo->file($file);
В этой ситуации $ mimetype всегда является пустой строкой. Я протестировал несколько типов файлов (.jpg, .doc, .txt, .pdf), и он всегда пуст. Он должен возвращать что-то вроде «image / jpeg».
Я отлаживал и изменил первую строку, чтобы фрагмент кода теперь был таким:
$finfo = new finfo(FILEINFO_NONE);
$info = $finfo->file($file);
В этой ситуации, когда я загрузил jpg, $ info была такой: данные изображения JPEG, стандарт JFIF 1.02. Так что теперь я знаю, что он попадает в файл правильно, но передача FILEINFO_MIME не возвращает мне правильную строку mime.
Это происходит только на моем промежуточном сервере. На моем локальном сервере я получаю правильный тип пантомимы. У кого-нибудь есть идеи, почему мой промежуточный сервер возвращает пустую строку для типа mime?