«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как определить тип файла, не полагаясь на расширения?

Как определить тип файла, не полагаясь на расширения?

Опубликовано 8 ноября 2024 г.
Просматривать:110

How to Determine File Type Without Relying on Extensions?

Как определить типы файлов, не полагаясь на расширения

Определение того, является ли файл форматом mp3 или изображения, помимо проверки его расширения, является ценным задача по программированию. Вот комплексное решение, которое не зависит от расширений:

PHP >= 5.3:

$mimetype = finfo_fopen(fopen($filename, 'r'), FILEINFO_MIME_TYPE);

PHP

$mimetype = mime_content_type($filename);

Альтернативы :

  • exif_imagetype: Специально проверяет MIME-типы изображений.
  • getimagesize: Аналогично exif_imagetype, но может зависеть от библиотеки проблемы.

Прокси-метод:

Для более общего подхода рассмотрите возможность включения этих функций в прокси-метод:

function getMimeType($filename)
{
    $mimetype = false;
    if (function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif (function_exists('getimagesize')) {
        // open with GD
    } elseif (function_exists('exif_imagetype')) {
        // open with EXIF
    } elseif (function_exists('mime_content_type')) {
        $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

Используя этот прокси-метод, вы можете легко определить mime-тип файла на основе доступности различных функций в вашей системе.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3