Извлечение информации Creator, встроенной в файлы из OS X, с использованием PHP? - PullRequest
0 голосов
/ 01 октября 2009

В OS X, если я использую Photoshop (например) для создания файла PNG, у меня есть возможность сохранить файл без расширения, и OS X по-прежнему распознает, какой это тип файла и в каком приложении его открыть. .

Можно ли как-нибудь извлечь эту информацию из физического файла с помощью PHP?

Ответы [ 2 ]

1 голос
/ 01 октября 2009

Если вы используете достаточно свежую версию PHP (например, 5.3) или имеете возможность установить расширения PECL, вам следует взглянуть на расширение Fileinfo , которое входит в состав PHP 5.3.

Цитируя один из приведенных примеров , часть кода, подобная этой:

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

Может принести вам что-то вроде этого:

text/html
image/gif
application/vnd.ms-excel


Если вы застряли с более старой версией PHP и не можете установить расширения PECL, возможно, подойдет функция mime_content_type.

1 голос
/ 01 октября 2009

Первые восемь байтов файла PNG всегда содержат следующие (десятичные) значения: 137 80 78 71 13 10 26 10

Вы можете использовать PHP для чтения заголовков файлов и определения типа файлов из известных заголовков. Вы можете легко найти эту информацию в Интернете в спецификации каждого формата (JPG, растровые изображения, GIF, PNG и т. д.)

Вот, я начну с тебя: - PNG Spec

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...