Как да се определи мим-типа на файловете с помощта на PHP

Какво е MIME-тип файл? Как да се определи MIME-тип на файл с помощта на PHP? Как да се инсталира и конфигурира модула Fileinfo местното събрание на сървъра Денвър.

MIME - стандарт, описващ прехвърлянето на различни типове данни за електронна поща, както и спецификацията за кодиране и форматиране на съобщенията, по такъв начин, че те да могат да се изпращат по интернет.

научи материални

Основното нещо е, че сега ние трябва да разберем, е необходимостта от сървъра magic.mime файл, който описва MIME типове. Като такъв, той е част от PHP. Понякога, както в сървъра Apache папки, за да намерите този файл. По принцип, който търси, намира. Идеята е да разберете къде можете да прочетете опцията стойност magic.mime mime_magic.magicfile на php.ini. Например:

Въпреки това, аз имам тази възможност не се връща, макар че - опитайте.

Трябва да се отбележи, че за да се определи MIME-тип на файла, в PHP има Fileinfo модул. С други думи, винаги можете да намерите пътя си, независимо дали имате възможност да научите нещо или не, от присъствието на този модул. Например:


Така че, ако има модул, тогава има шанс, че ще цялата работа. В екстремни случаи, можете да укажете пътя към своята magic.mime файл.

Най-лесният начин да се определи файл, MIME-тип с PHP е да се използва PHP-функционални mime_content_type () от Fileinfo модул. Например:

В резултат на това ние трябва да се низа: изображение / JPEG. Разбира се, ако image.jpg файл - има и модулът е свързан Fileinfo magic.mime разположение.

Имайте предвид, че функцията стойност mime_content_type () трябва да бъде пълен пътя и името на файла, за който аз използвах на проектиране dirname (__ FILE__) извършва. "Image.jpg". Също така, имайте предвид, че тази функция е отхвърлена (инж. Deprecated), и ще продължи да бъде изключен от PHP. Една алтернатива е решението, написана с помощта на PHP-функции от едно и също Fileinfo модула:

Тук finfo_open на функцията () създава Fileinfo ресурс ($ finfo). Като се има предвид FILEINFO_MIME_TYPE постоянна. наличен в PHP 5.3.0 или по-нова версия, ние ще бъдем в състояние да получи файл MIME-тип (ове).

Мисля, че е ясно, че finfo_file () на PHP-функция. Използването Fileinfo ресурс ($ finfo), ни връща към информацията за даден файл ($ името на файла). В нашия случай това е MIME-тип: изображение / JPEG.

Е, ако всички по-горе не помогне, можете да напишете вашето анализатора. Има и много опции. Една от тях е анализатора magic.mime по делото. Няма значение къде е, основното нещо, което е било.

Мисля, да рисува, идвате тук няма смисъл - и начина, по който тя е повече от разбираемо. Аз просто искам да привлека вниманието ви към I укажете пътя до файла с mime.types. Както може би се досещате, ние говорим за локалния сървър. По-точно, монтаж на Денвър. И тук, ние постепенно преминете към инсталиране на модула и конфигурирането на сървъра.

Инсталация и настройка

Още веднъж ви напомням: ние говорим за локален сървър, събранието в Денвър. Както знаете, ние трябва да се хареса на файла php.ini. Аз го имам в папката: C: \ в сървър \ ЮЕсАр \ Local \ php5 \. В него трябва да се свърже две разширения: php_fileinfo.dll и php_mime_magic.dll. Така например, по следния начин:

Аз привлека вниманието ви към факта, че разширяването на данните, трябва да съществува. Аз те са в папка: C: \ в сървър \ ЮЕсАр \ Local \ php5 \ вътр \.

След това се наложи да конфигурирате mime_magic опция. «Обработка на данни», свързани с раздел. По-специално:

Моля, имайте предвид, че трябва да mime_magic.magicfile опция, за да се регистрирате пълния път и име migic.mime. Това е всъщност всичко.