ibudasov / php7-iptc-manager
允许从 PHP7.* 操作 IPTC 标签
v1.0.0
2018-05-19 15:14 UTC
Requires
- php: ^7.1.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.9
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-05 05:22:02 UTC
README
为什么以及它是做什么的
IPTC 标签 是您可以在您拍摄的照片中包含的标签(记得 Instagram 吗?)
此库提供了简单的接口来完成此操作,因为标准的 PHP 方法很糟糕。
所以,让我们开始吧!
安装
安装相当典型 - 使用 composer
composer require ibudasov/php7-iptc-manager
如何使用
在开始使用之前,您必须创建 IPTC 标签管理器
// import the Manager class
use iBudasov\Iptc\Manager;
// ... and instantiate it!
$manager = Manager::create();
一旦您有了管理器的一个实例,您需要指定要处理的文件。支持的文件类型为 ['jpg', 'jpeg', 'pjpeg']
,如果您尝试提供其他类型的文件,将会抛出异常。
$manager->loadFile('/tmp/proper-file.jpg');
创建一个 IPTC 标签
然后您可以添加一些 IPTC 标签。
存在不同类型的 IPTC 标签,但对于所有这些标签,您都可以在 Tag
类中找到相应的常量。
您可以指定每个标签的多个值,这是允许的,因此我们有一个值数组。
$manager->addTag(new Tag(Tag::AUTHOR, ['IGOR BUDASOV']));
$manager->write();
如果已存在具有相同名称的标签,将会抛出异常,因此您可以使用 Manager::deleteTag()
明确删除之前的值。
这是为了防止意外删除数据。是的,我们在考虑您数据的安全性!
读取一个 IPTC 标签
一旦您通过 loadFile()
加载了所有包含的 IPTC 标签,它们将被加载到管理器中,因此您可以按其代码名称检索任何标签。
如果此标签不存在,您将遇到异常。
$manager->getTag(Tag::AUTHOR)
...或者您可以一次性获取它们所有!
$manager->getTags();
删除一个 IPTC 标签
有时您想删除一个标签,这里就是方法。
如果您尝试删除一个不存在的标签,将会抛出异常。
$manager->deleteTag(Tag::AUTHOR);
$manager->write();
附言。
所有代码都经过良好的测试覆盖,但如果您发现一个错误,请随时联系我!