Библиотека getID3 () - это быстрый и простой вариант работы в большинстве случаев. Первоначально названная для проекта по получению данных MP3 ID3, библиотека выполняет на два шага больше, чем это, и очень удобна для всех видов общих или нечетных задач метаданных файлов.
Я использовал его, чтобы получить MIME-типы файлов для онлайн-инструментов для изображений и видео. Во всех проведенных мною тестах я не видел, чтобы getID3 неправильно указывал тип MIME.
Я также использовал это, чтобы проверить, есть ли у видео QuickTime подсказки потоковой передачи. Я упоминаю это как пример универсальности.
Второй, более трудоемкий, вариант - запустить собственную проверку типов MIME, как уже предлагалось. Если у вас есть магический файл MIME, вы можете пойти немного дальше, чем поиск по расширению файла, сравнив первые n байтов данных файла с первыми n байтами, с таблицей поиска типа MIME, полученной из вашего магического файла MIME.
Типичный магический файл MIME будет содержать более 500 наборов типов MIME, что может привести к медленным сравнениям (множество проверок, которые нужно сделать). В этом вам поможет жесткое кодирование 10 наиболее распространенных проверок типов MIME в вашем домашнем решении.