當前位置: 首頁> 最新文章列表> PHP使用ImageExif擴展讀取與編輯圖像元數據完整指南

PHP使用ImageExif擴展讀取與編輯圖像元數據完整指南

M66 2025-06-10

如何使用PHP擴展ImageExif讀取和編輯圖像的元數據

導言:
圖像元數據包含關於照片的額外信息,比如拍攝時間、相機參數和地理位置等。這些信息在圖像管理和後期處理中極為重要。 PHP提供的ImageExif擴展讓我們能夠方便地讀取和編輯這些元數據。

ImageExif擴展介紹

ImageExif是PHP官方提供的擴展,支持讀取和編輯JPEG、TIFF等格式圖片中的Exif(可交換圖像文件格式)元數據。利用該擴展,可以有效地訪問圖像文件中的拍攝信息和相機設置。

讀取圖像的Exif信息

首先,確保PHP環境中已啟用ImageExif擴展。你可以通過檢查php.ini配置文件中的“exif”選項確認擴展狀態。如未啟用,可在擴展管理中激活或重新編譯PHP。

以下示例展示瞭如何讀取圖像的Exif數據:

$imagePath = 'test.jpg';
$exifData = exif_read_data($imagePath, 'EXIF');

echo "拍攝時間: " . $exifData[&#39;DateTimeOriginal&#39;] . "<br> ";
echo "相機品牌: " . $exifData[&#39;Make&#39;] . "<br> ";
echo "相機型號: " . $exifData[&#39;Model&#39;] . "<br> ";
echo "焦距: " . $exifData[&#39;FocalLength&#39;] . "mm<br> ";
echo "曝光時間: " . $exifData[&#39;ExposureTime&#39;] . "秒<br>";
echo "ISO感光度: " . $exifData[&#39;ISOSpeedRatings&#39;] . "<br> ";

編輯圖像的Exif信息

編輯Exif信息時,先讀取當前數據,修改所需字段後,再寫回圖像。下面示例演示瞭如何更改Exif元數據:

$imagePath = &#39;test.jpg&#39;;
$exifData = exif_read_data($imagePath, &#39;EXIF&#39;);

$exifData[&#39;DateTimeOriginal&#39;] = &#39;2022-01-01 12:00:00&#39;;
$exifData[&#39;Make&#39;] = &#39;Canon&#39;;
$exifData[&#39;Model&#39;] = &#39;EOS 5D Mark IV&#39;;
$exifData[&#39;FocalLength&#39;] = &#39;50/1&#39;;
$exifData[&#39;ExposureTime&#39;] = &#39;1/100&#39;;
$exifData[&#39;ISOSpeedRatings&#39;] = &#39;400&#39;;

exif_write_data($exifData, $imagePath);

請注意,編輯Exif信息前需確保原始數據已讀取並正確賦值。完成修改後調用寫入函數即可更新圖像文件中的元數據。

總結

通過PHP的ImageExif擴展,讀取和修改圖像的Exif元數據變得簡單高效。這為圖像信息的管理和後續處理提供了極大便利。希望本指南能幫助你更好地運用PHP處理圖像元數據。