К сожалению, нет идеального способа сделать это на любом языке программирования.
2 самый стандартный способ получить мини-тип -
- Определите по расширению файла ... Итак что-то .jpg - это файл JPEG, а что-то .doc - это документ Word.
- Определить по волшебной строке в файле ... поэтому, если первые 2 байта файла - 0xFF 0xD8, это файл jpeg. и офисный документ начинается с 0xD0 0xCF 0x11 0xE0.
У обоих способов есть свои плюсы и минусы.
Я могу загрузить исполняемый файл, но назвать его с расширением ".jpg", чтобы победить первым способом или определить тип пантомимы.
И для обоих типов мне в основном нужна большая база данных для поиска, чтобы я мог сказать, к какому mimetype относится файл.
Однако, если вас интересует только определение mimetype для нескольких типов файлов. (Может быть, просто jpg, png, gif и т. Д.), Тогда лучшим способом (imho) будет способ номер 2. Просто сохраните базу данных или массив всех магических строк и протестируйте файл на предмет этого.
Волшебные струны легко получить, просто Google.