Скопировать изображение и сохранить его данные EXIF ​​/IPTC с помощью PHP imageCreateFromJpeg?

У меня есть некоторые проблемы с изображением, в котором хранятся данные EXIF ​​/IPTC.
Когда я использую imageCreateFromJpeg (для поворота/обрезки и т.д.), Вновь сохраненный файл не сохраняет данные EXIF ​​/IPTC.

Мой текущий код выглядит следующим образом:

<?php
// Before executing - EXIF/IPTC data is there (checked)
$image = "/path/to/my/image.jpg";
$source = imagecreatefromjpeg($image);
$rotate = imagerotate($source,90,0);
imageJPEG($rotate,$image);
// After executing  - EXIF/IPTC data doesn't exist anymore. 
?>

Я что-то делаю неправильно?

Ответ 1

Вы ничего не делаете неправильно, но GD вообще не имеет дело с Exif из данных IPTC, поскольку он выходит за рамки того, что делает GD.

Вам нужно будет использовать стороннюю библиотеку или другое расширение PHP для чтения данных из исходного изображения и вставить его в выходной файл, созданный imagejpeg.

Вот некоторые интересующие библиотеки: pel (php exif library), пример на php.net, показывающий, как используйте pel, чтобы делать то, что вы хотите, набор метаданных php, функция iptcembed().