CesarTrigo
CesarTrigo

Reputation: 433

Write EXIF into JPG with PHP

For a couple of days I'm trying to write (or update) EXIF information (geotag, latitude and longitude) in a JPG image using PHP. After consulting many sites without success I think the best option is to use Imagick but although it seems I can set the latitude and longitude with setImageProperty(), but when I write the picture the EXIF is not saved.

Here I give a code fragment:

//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();

The image is saved successfully but no the exif information updates.

Anyone have an idea how I can solve this problem with this or any other tool? The only requirement is to use PHP

Thank you very much in advance!

Upvotes: 5

Views: 10690

Answers (2)

Terence Eden
Terence Eden

Reputation: 14324

The only way I've found is to install PEL - the PHP Exif Library

Upvotes: 6

Annabel
Annabel

Reputation: 1414

The gd or ImageMagick libraries will help you do this sort of thing. If you are using shared hosting one (or both of them) may have been installed for you.

Upvotes: -3

Related Questions