, (*1)
Why and what is it
IPTC tags are tags, which you can include in a picture you have taken (remember Instagram?), (*2)
This library provides simple interface to do that, because standard PHP way sucks a lot., (*3)
So, let's get started!, (*4)
Installation
Installation is quite typical - with composer:, (*5)
composer require ibudasov/php7-iptc-manager
How to use
Before usage you have to create the IPTC tags manager:, (*6)
// import the Manager class
use iBudasov\Iptc\Manager;
// ... and instantiate it!
$manager = Manager::create();
Once you have an instance of the Manager - you'll need to specify the file to work with.
['jpg', 'jpeg', 'pjpeg']
file types are supported, and if you try to feed something else - exception will be thrown, (*7)
$manager->loadFile('/tmp/proper-file.jpg');
Create an IPTC tag
Then you can add some IPTC tags., (*8)
There are different kinds of IPTC tags, but for all of them you'll find a constant in Tag
class., (*9)
You can specify multiple values for each tag, it is allowed by specification, so we have array of values:, (*10)
$manager->addTag(new Tag(Tag::AUTHOR, ['IGOR BUDASOV']));
$manager->write();
If a tag with the same name already exists - an exception will be thrown, so you can use Manager::deleteTag()
to explicitly remove previous value., (*11)
It was made to avoid accidental removing of data. Yes, we were thinking about safety of your data!, (*12)
Read an IPTC tag
Once you loadFile()
all the included IPTC tags will be loaded to the Manager, so you can retrieve any tag by it's codename., (*13)
If this tag doesn't exist - you'll experience an exception., (*14)
$manager->getTag(Tag::AUTHOR)
...or you can get them all at once!, (*15)
$manager->getTags();
Delete an IPTC tag
Sometimes you want to delete a tag - here is the way., (*16)
If you're trying to delete a tag which does not exist - exception will be thrown., (*17)
$manager->deleteTag(Tag::AUTHOR);
$manager->write();
P.S.
All the code is nicely covered by tests, but if you find a bug - feel free to contact me!, (*18)