攝影師常將標題、說明、關鍵字等資訊以 IPTC 標準嵌入 JPEG 檔案(透過 Photoshop「檔案資訊」)。PHP 可透過 getimagesize() 搭配 iptcparse() 解析讀取。
<?php
$imagePath = 'photo.jpg';
$imageInfo = [];
$size = getimagesize($imagePath, $info);
if (isset($info['APP13'])) {
$iptc = iptcparse($info['APP13']);
foreach (array_keys($iptc) as $key) {
$count = count($iptc[$key]);
for ($i = 0; $i < $count; $i++) {
$imageInfo[$key] .= $iptc[$key][$i];
}
}
}
print_r($imageInfo);
/*
輸出範例:
Array (
[2#005] => 圖片標題
[2#025] => 關鍵字1,關鍵字2
[2#120] => 圖片說明
...
)
*/
?>
| 標籤 | 含義 |
|---|---|
2#005 | 標題 |
2#025 | 關鍵字 |
2#120 | 說明/描述 |
2#080 | 攝影師名稱 |
2#116 | 版權聲明 |
注意:僅支援 JPEG 格式;PNG 等其他格式可能儲存於不同區塊(如 iTXt、tEXt)。