我试图使用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
非常感谢你!
答案 0 :(得分:5)
我找到的唯一方法是安装PEL - the PHP Exif Library
答案 1 :(得分:-2)
gd 或 ImageMagick 库可以帮助您完成此类操作。 如果您使用的是共享主机,则可能已经为您安装了一个(或两个)。