我正在尝试使用 php 从 jpg 图像(http://pepeliana.com/images/DSC4008.jpg)中获取一些 iptc 元数据。引用图像的标题元数据设置为“测试”。我已经阅读了 php 手册以及似乎可以完成这项工作的两个函数 - iptcparse() 和 exif_read_data()。这两个功能都在 php.ini 中启用。但是对于我的生活,我无法弄清楚为什么这两个函数都没有返回所需的数据。这是我尝试过的示例代码,我还应该提到,我还在几个具有 Title iptc 元数据的图像上尝试了此代码(因此排除了图像损坏或元数据设置不正确的可能性):
<?php
$size = getimagesize ('DSC4008.jpg', $info);
if(is_array($info)) {
$iptc = iptcparse($info["APP13"]);
foreach (array_keys($iptc) as $s) {
$c = count ($iptc[$s]);
for ($i=0; $i <$c; $i++)
{
echo $s.' = '.$iptc[$s][$i].'<br>';
}
}
}
?>
还:
<?php
$exif = exif_read_data('DSC4008.jpg', 0, true);
echo $exif['WINXP']['Title'];
?>
如您所见,这很简单,但是,我无法返回我想要的东西。显然,我一定错过了一些明显简单的东西,不是吗?请帮忙!