Прочитать изображение данных IPTC - PullRequest
5 голосов
/ 08 января 2012

У меня возникли проблемы с считыванием данных IPTC некоторых изображений, причина, по которой я хочу это сделать, заключается в том, что мой клиент имеет все ключевые слова, уже содержащиеся в данных IPTC, и не хочет повторно вводитьих на сайте.

Поэтому я создал этот простой скрипт для их прочтения:

<code>$size = getimagesize($image, $info);

if(isset($info['APP13'])) {
    $iptc = iptcparse($info['APP13']);

    print '<pre>';
        var_dump($iptc['2#025']);
    print '
';}

В большинстве случаев это прекрасно работает, но с некоторыми изображениями возникают проблемы.

Примечание: неопределенный индекс: 2 # 025

Хотя я четко вижу ключевые слова в фотошопе.

Есть ли какие-нибудь приличные небольшие библиотеки, которые могли бы читать ключевые слова на каждом изображении?Или я здесь что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2012

Я видел много странных проблем с IPTC. Может быть, у вас есть 2 сегмента APP13. Я заметил, что по некоторым причинам некоторые JPEG имеют несколько блоков IPTC. Возможно, это проблема с использованием нескольких программ для редактирования фотографий или ручного управления файлами.

Возможно, PHP пытается прочитать пустой APP13 или даже встроенные «метаданные миниатюр».

Может также быть проблема с длиной сегментов - APP13 или 8BIM имеют байты маркера длины, которые могут иметь неправильные значения.

Попробуйте редактор HEX и проверьте файл "вручную".

0 голосов
/ 19 января 2012

ExifTool очень надежен, если вы можете раскошелиться на это (из PHP это выглядит?)

...