Как определить формат файла (PHP)
Как в PHP можно узнать какой формат имеет тот или иной файл. Я пролистал пару учебников не смог найти, что мне нужно. Подскажите как.
Хочу добавит, что мне нужно не просто узнать тип, а именно формат swf или gif и и т.д.
Можно также поискать в инете регулярные выражения файлов.
getimagesize, она может определить формат изображения.
Кроме того, в *nix'ах есть утилита file:
man file
Есть функция
Кроме того, в *nix'ах есть утилита file:
Код:
$a=`file $filename`;
man file
Ссылку на ман давать уж как минимум глупо, ибо у команды есть только один параметр :)
NetWork, тебе надо расширение файла отловить или именно его заголовок?
в принципе юзай регулярные выражения или explode(). Если конечно я верно понял постановку задачи.
Код:
<?php
$string = "sjhfdh.sdhfgkljd.idsufg.gif";
$type = explode(".", $string);
echo $type[count($type) - 1];
?>
$string = "sjhfdh.sdhfgkljd.idsufg.gif";
$type = explode(".", $string);
echo $type[count($type) - 1];
?>
2gruz0
>>Уважаемый mike, заметьте, что не у всех есть никсы
Но сайты как правило на них крутятся.
>>Ссылку на ман давать уж как минимум глупо, ибо у команды есть только один параметр
Вы наверное гений, если как только в первый раз увидели никсы без man'a знали все команды и колличество аргументов...
mime_content_type -- Detect MIME Content-type for a file
Код:
<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>
только она возвращает Content-type, а не расширение))
если необходимо определять истинный тип файла, независимо от его имени, то это уже задача совсем другая. я вижу выход только определить допустимый круг типов файлов и реализовать проверку принадлежности файла к каждому их них. да, это довольно некрасиво с точки зрения производительности, но других идей сходу не пришло и, если область допустимых типов файлов невелика, то это вполне можно использовать как решение
2gruzO: ответ в таком виде как я дал, мне бы помог. Да думаю не только мне. Работать с PHP не зная что такая Unix/Linux и как работает man - профнепригодность (c). Кроме того, наверняка есть порты под Windows
IMHO, проблема явно высосана из пальца.
Код:
$file = "image.gif";
$ext = substr($file,1+strrpos($file,"."));
$ext = substr($file,1+strrpos($file,"."));
Цитата: shaelf
Вы наверное гений, если как только в первый раз увидели никсы без man'a знали все команды и колличество аргументов...
Книжки читал, как ни странно.
[COLOR=darkred]Учитывая внезапно пропавший интерес к теме автора, все предложенные вариации и начавшуюся флудильню, предлагаю темку прикрыть.[/COLOR]