Я бы использовал fileinfo для получения типа mime моих файлов, потому что mime_content_type устарел. Но у меня есть вопрос, хороший метод для большого файла?Получить тип mime с fileinfo, является хорошим методом для большого файла?
Если у меня есть файл 1.5Gb, я не хочу, чтобы «открыть» этот файл в памяти только для получения типа мима ...
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>
Спасибо.
Отличный пример! Благодаря! –
С PHP7 я наблюдал странную ошибку с этим методом. Возвращаемое значение со всем файлом: '' 'image/jpeg; charset = binary''', но при использовании вашего метода и получения первых 1024 байтов он возвращает '' 'application/octet-stream; кодировок = binary'''. Такая же ошибка при использовании первых 2048 или 4096 байтов – Christian
Какую версию PHP7 вы используете? Я тестировал с PHP версии 7.0.15-0ubuntu0.16.04.4 (Ubuntu Trusty), и он работает как ожидалось: 'string (16)« video/x-matroska »'. Какой файл вы тестируете? – DaryL