php 是否支持 webp 影像元資料?
具體來說,我希望能夠在 php 代碼中本地讀取和寫入 webp 影像的 XMP 和 EXIF 元資料。
我一直在試驗下面的代碼,它給了我一個“檔案不支持”警告。
<?php
$photoSourceThumbnail = "publicAssets/images/att_galleryWebP/A0001_LSF-PHOTOS-WM-TM-WEBP/A0001-EWF-LSF-01.webp";
$photoSourceFull = "assets/images/att_galleryWebP/A0001_LSF-PHOTOS-WM-FULL-WEBP/A0001-EWF-LSF-01.webp";
echo "$photoSourceFull:<br />\n";
$exif = exif_read_data($photoSourceFull, 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";
$exif = exif_read_data($photoSourceFull, 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
uj5u.com熱心網友回復:
為此,最好使用 ExifTool。
安裝 ExifTool
https://exiftool.org/
PHP 示例
class ExifToolException extends RuntimeException{}
function getInfo(string $file) : object
{
$info = shell_exec("exiftool -json " . $file . " 2>&1");
if(strpos($info, 'Error:') > -1) {
throw new ExifToolException(rtrim($info, PHP_EOL));
}
return json_decode($info)[0];
}
try {
var_dump(getInfo("abc.webp")->Megapixels);
} catch(ExifToolException $e) {
var_dump($e->getMessage());
}
更新:ExifTool 不支持撰寫 webp
相反,您可以查看來自 Google 的 webpmux:https : //developers.google.com/speed/webp/docs/webpmux
uj5u.com熱心網友回復:
我正在做 SEO 任務并查看哪些影像被索引以及使用哪些元資料。
到目前為止,我的網站有 6000 張影像,我使用此在線工具將這些影像從 jpg 轉換為 webp。https://nsspot.herokuapp.com/imagetowebp/
jpg 影像為每個影像手動添加了完整的 XMP 和 EXIF 元資料,但是轉換工具沒有將任何元資料從 jpg 傳遞到 webp。
此外,我正在研究什么是索引影像的最佳元資料。 https://developers.google.com/search/docs/advanced/guidelines/google-images
我的意思是,如果 webp 應該用于網路上的影像,那么元資料欄位肯定應該是:影像檔案名影像標題影像描述影像關鍵字影像緯度影像經度
到目前為止,我的結論是,雖然 webp 格式確實提高了頁面速度,但 google 似乎缺乏明確定義應該針對網路環境優化的 webp 影像的元資料標準。
繼續前進,我想找到一種方法,可以從影像元資料值的 sql 表中取出一行并將其寫入影像并為我的所有影像重復 6000 次。
如果這不容易接縫,我正在考慮從 webp 回滾到 jpg,直到谷歌已經整理出標準。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/365242.html
