#php #php-7.4
Вопрос:
Предупреждение: finfo::файл(): Не удалось идентифицировать данные 0:не удается прочитать » (null)» в myfunction()
Вот мой код :
function myfunction($file) {
$finfo = new finfo(FILEINFO_MIME_TYPE);
$content_mime = $finfo->file($file->uri);
}
мы получаем тип mime для PHP7.3, но не для PHP7.4
Только версия PHP отличается ничем другим.
ПРИМЕЧАНИЕ: Я нашел здесь исправление для ошибки PHP 7.4 : https://bugs.php.net/bug.php?id=79681 но я не знаю, как им пользоваться.
Пожалуйста, помогите мне в этом, заранее спасибо.
Комментарии:
1. Похоже
$file->uri
на возвращениеnull
, вы отладили его?2. Похоже, ваша проблема заключается в объекте $file, а не в классе FInfo. Как вы получаете объект $file?
3. У нас то же
$file->uri
самое в обоих случаях, PHP 7.3 и 7.4, как показано на скриншоте $file object @simone-rossaini @LSerni
Ответ №1:
Мы можем использовать buffer
функцию вместо file
объекта finfo. Найдите обновленный код ниже.
function myfunction($file) {
$finfo = new finfo(FILEINFO_MIME_TYPE);
$content_mime = finfo->buffer(file_get_contents($file->uri));
}
Это работает для меня (для PHP 7.4) и работает так, как ожидалось.