#php #exif #heic
#php #exif #heic
Вопрос:
Я хочу прочитать EXIF-данные с фотографии HEIC.
Если я запущу:
<?php
var_dump(exif_read_data("test.heic"));
Я получаю
bool(false)
Если я запускаю инструмент Linux exiftool test.heic
, то я могу увидеть всю необходимую мне информацию (местоположение, название камеры и т.д.).
Если я запускаю exif_read_data("test.jpg")
— тогда я получаю данные. Итак, я знаю, что синтаксис, который я использую, правильный.
Я использую PHP 7.1 и ImageMagick 6.9.4-10 (1684).
print_r(imagick::getVersion());
Array
(
[versionNumber] => 1684
[versionString] => ImageMagick 6.9.4-10 Q16 x86_64 2017-05-23 http://www.imagemagick.org
)
Нужны ли мне более новые версии? Если да, то какие из них работают с HEIC?
Комментарии:
1. Является ли эта версия ImageMagick той, которую использует PHP?
2. @ColeJohnson да — я отредактировал вопрос, чтобы показать, что именно эту версию использует PHP.
3. Из списков изменений ImageMagick вам нужно 7.0.8-25 для ImageMagick 7 или 6.9.10-25 для Imagemagick 6. Итак, ваша версия слишком старая.
Ответ №1:
Это ограничение в расширении EXIF для PHP. В настоящее время расширение EXIF будет считывать только два формата файлов:
- JPEG
- TIFF
Как разработчик расширения для EXIF на PHP, я не могу сказать, что существует конкретный план поддержки большего количества форматов, поскольку только недавно на трекере ошибок был опубликован один отчет в отношении поддержки изображений PNG (начиная с версии 1.5 спецификации PNG).
Я предлагаю вам сообщить об этом как о «Запросе функции» в PHP bug tracker, чтобы его можно было отследить (и если вы можете предоставить подробности или даже экспериментальную реализацию, это помогло бы быстрее перенести это в PHP). На данный момент единственным вариантом является преобразование изображений в формат JPEG или TIFF, чтобы сделать их читаемыми с помощью расширения EXIF.
Комментарии:
1. Можете ли вы предоставить обновленную информацию относительно этого?