3
我試圖用php從jpg圖像(http://pepeliana.com/images/DSC4008.jpg)獲取一些iptc元數據。參考圖像的標題元數據設置爲「測試」。我已經通過了PHP手冊和兩個似乎可以完成這項工作的函數 - iptcparse()和exif_read_data()。這兩個函數都在php中啓用。然而,對於我的生活,我無法弄清,爲什麼兩個函數都不會返回所需的數據。這裏是我嘗試過的一個示例代碼,我還應該提到,我也嘗試了幾個帶有Title iptc元數據的圖像上的代碼(因此排除了損壞圖像或設置元數據不當的可能性):在php中獲取jpg圖像的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'];
?>
正如你所看到的,這很簡單,因爲它得到,但是,我不能讓任何返回我想要的東西。顯然,我必須錯過一些顯然很簡單的事情,不是嗎?請幫忙!
這樣做的工作,謝謝你,但我寧願與合作iptc,因爲它實際上是人爲輸入的元數據,而不是來自相機的元數據,它是exif。我只嘗試過exif,因爲我最初無法獲得iptcparse的工作。你可以/有人評論與iptcparse解決方案? – silverchair