Я сейчас работаю над тем же самым.
Я тестировал некоторые изображения, .gif, .jpeg, .png ... используя finfo
Я обнаружил, что тип mime, который вы читаете, зависитна константы, которые вы используете для чтения файла.Больше!Вы читаете application / octet-stream как mimetype из изображений!и эта информация не ошибается. См .:
Если вы используете finfo_open () без констант:
<?php
$finfo = finfo_open();
$FileInfo = finfo_file($finfo, $tmp_name);
finfo_close($finfo);
Вы получите ожидаемый тип пантомимы:
Если.svg -> HTML-документ, текст ASCII, с очень длинными строками, без разделителей строк
If .jpg (с камеры вашего телефона) -> данные изображения JPEG, стандарт EXIF 2.2
If.gif (сохранено из рисования) -> данные изображения GIF, версия 89a, wxh
при использовании такой константы, как FILEINFO_MIME_TYPE
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE, $mf); // $mf is a magic file
$FileInfo = finfo_file($finfo, $tmp_name);
finfo_close($finfo);
, вы получаете другое значение:
if .svg -> text / plain
if .jpg (с камеры вашего телефона) -> application / octet-stream
if .gif (сохранено из краски)-> application / octet-stream
Таким образом, вы должны проверить то, что читаете при тестировании mimetypes.См. Fileinfo Предопределенные константы
Надеюсь, это поможет