【发布时间】:2011-10-26 13:44:21
【问题描述】:
我有一个允许用户上传照片的照片社区 (www.jungledragon.com)。我的平台是 PHP/CodeIgniter。
作为上传过程的一部分,我已经在使用 PHP 的 exif_read_data 函数读取 EXIF 信息,该函数运行良好。我阅读了相机详细信息并将其显示在信息选项卡上。
最重要的是,用户需要在上传照片后在网站上手动设置照片标题、描述和标签。但是,一些用户在他们的图像管理程序中管理这些字段,例如 Lightroom。如果我也能读到这些就太好了,上传将成为一种完全的乐趣。
我已经改进了我的 EXIF 阅读以阅读“标题”,这样用户就不必在上传后设置图片标题了。现在我正在寻找阅读关键字,这是我卡住的地方。这是 Lightroom 中图像的部分屏幕截图:
我可以读取元数据,但如何读取关键字?它不在元数据中的事实让我想知道它是否可能?我尝试使用 exif_read_data 读取我可以获得的每个值(ANY_TAG、IFD0、EXIF、APP12),但找不到关键字。
有什么想法吗?
【问题讨论】:
-
我认为您应该使用其他一些软件检查图像,以便您可以排除 php 元数据读取中的任何限制。另外,LR是如何配置导出关键字的?参见例如lightroomsecrets.com/2010/11/keywords-and-exported-images
-
谢谢。我实际上下载了一张照片,一位用户上传到我的网站,他声称其中有关键字。我包含的屏幕截图显示了导入 LR 的同一张照片。我认为这可以验证文件是否包含它?
-
嗨,弗迪。这是一个旧帖子了。问题是否已解决?我也希望从 LR 中保存关键字,以及一堆其他元数据值。我看到的许多示例代码都建议阅读 APP13 数组,但我的测试图像中似乎没有。
-
@M61Vulcan 向下滚动,答案就在那里。
-
感谢您对这个老话题的快速回复。 foto.biz 的链接不再有效,php.net iptcparse 解释一直引用我的元数据中没有的“APP13”。我在 IFD0.ExtensibleMetadataPlatform 中找到了关键字以及 Lightroom 标题和标题:作为一个很大的无格式字符串(大约 266 个字符,具体取决于图像),但是当我开始切割字符串时,它变成了 12,917 个字符,其中包含大量其他元数据它。大概在某个地方有一些隐藏的角色。无论如何,这超出了这个问题的范围。我会回来的。
标签: php exif photography lightroom