2011-08-13 23 views
3

我有一個照片社區(www.jungledragon.com),允許用戶上傳照片。我的平臺是PHP/CodeIgniter。如何使用PHP從圖像文件中讀取Lightroom關鍵字?

作爲上傳過程的一部分,我已經在使用PHP的exif_read_data函數讀取EXIF信息,該函數正常工作。我閱讀相機的詳細信息並在信息選項卡上顯示。

最重要的是,用戶需要在上傳照片後在網站上手動設置照片標題,說明和標籤。但是,有些用戶在其圖像管理程序中管理這些字段,例如Lightroom。如果我能夠閱讀這些內容,這將是非常棒的,上傳將會變成一種樂趣。

我已經改進了我的EXIF閱讀來閱讀「標題」,這樣用戶就不必在上傳後設置圖片標題了。現在我正在閱讀關鍵字,這是我卡住的地方。下面是一個圖像在Lightroom的部分截圖:

enter image description here

我可以讀取元數據,但我怎麼看關鍵字?它不在元數據中的事實讓我懷疑它是否可能?我嘗試使用exif_read_data讀取每個可以獲得的值(ANY_TAG,IFD0,EXIF,APP12),但是找不到關鍵字。

有什麼想法?

+0

我想你應該有一些其他的軟件檢查圖像,這樣就可以排除在任何限制php元數據閱讀。另外,如何配置LR來導出關鍵字?見例如http://lightroomsecrets.com/2010/11/keywords-and-exported-images/ –

+0

謝謝。實際上,我下載了一個用戶上傳到我聲稱擁有關鍵字的網站的照片。我收錄的截圖顯示了同一張照片導入LR。我認爲這證實該文件包含它? – Ferdy

回答

5

建議您可能必須使用另一種讀取元數據的方法。

http://www.foto-biz.com/Lightroom/Exif-vs-iptc-vs-xmp

圖像的關鍵字可存儲在IPTC而不是在EXIF。我不知道是否有閱讀IPTC標準平臺的方法,但快速谷歌表示這

http://php.net/manual/en/function.iptcparse.php

+0

謝謝,非常有用。將嘗試這個嘗試並儘快報告。 – Ferdy

+1

它的工作原理:) iptcparse函數的官方示例爲我提供了即時需要的結果。非常感謝! – Ferdy

1

嘗試使用PEL,這是一個比exif_read_data()更全面的exif數據庫。

+0

感謝您的建議,但可以在沒有命令行的情況下安裝PEL嗎?我問的原因是因爲我的主人。 – Ferdy

+0

我有同樣的問題,所以我只是下載源代碼,並將其上傳到我的服務器上的某個地方。 – r0nny1l