Для визначення MIME типу за змістом файлу, можна використовувати системну утіліту
file
:file -bi /path/to/file
Для PHP є застаріла функція
mime_content_type
, рекомендується використовувати функцію finfo_file PECL модулю Fileinfo.Але інколи цього може бути недостатньо. Наприклад, MIME type файлів формату M$ Office 2007 (docx, xlsx, pptx) визначається як application/zip. Навіть де-які файли формату Open Document Format (Openoffice.org) визначаються як
application/octet-stream
.У результаті богатьох експериментів, я визначив утіліту, яка, на мій погляд, найточніше визначає MIME тип файлу. Ця утіліта - gnomevfs-info.
Встановлення
Fedora:
sudo yum install gnome-vfs2
Debian:
sudo apt-get install libgnomevfs2-bin
І використання:
gnomevfs-info -s <path_to_file> | awk '{FS=":"} /MIME type/ {gsub(/^[ \t]+|[ \t]+$/, "",$2); print $2}'
Ця команда виведе лише MIME тип.
Додаткові опціі можна побачити, набравши:
gnomevfs-info --help
Немає коментарів:
Дописати коментар