用PHP将EXIF写入JPG

时间:2012-04-03 20:37:43

标签: php exif imagick

我试图使用PHP在JPG图像中编写(或更新)EXIF信息(地理标记,经度和纬度)。 在咨询了许多网站但没有成功之后,我认为最好的选择是使用Imagick但是虽然看起来我可以使用setImageProperty()设置纬度和经度,但是当我写图片时,EXIF不会被保存。

这里我给出一个代码片段:

//Loading existing image
$edited = new Imagick(dirname(__FILE__)."/mini.jpg");
//Stripping the curren EXIF info. I think is not mandatory and I try to comment but nothing...
$edited->stripImage();
//Setting the new properties
$edited->setImageProperty('exif:GPSLatitude', '30/1, 46/1, 58605/1000');
$edited->setImageProperty('exif:GPSLongitude', '63/1, 57/1, 35550/1000');
$propiedades = $edited->getImageProperties();
var_dump($propiedades);
var_dump($edited->writeImage('mini_edited.jpg'));


//reading the new image EXIF Info
$readedited = new Imagick(dirname(__FILE__)."/mini_edited.jpg");
$propiedades_edited = $readedited->getImageProperties();

图像已成功保存,但不会更新exif信息。

任何人都知道如何使用此工具或任何其他工具解决此问题? 唯一的要求是使用PHP

非常感谢你!

2 个答案:

答案 0 :(得分:5)

我找到的唯一方法是安装PEL - the PHP Exif Library

答案 1 :(得分:-2)

gd ImageMagick 库可以帮助您完成此类操作。 如果您使用的是共享主机,则可能已经为您安装了一个(或两个)。