PHP 版本 5.3.10
简而言之,我无法从照片中获取所有 EXIF 数据 - 它说它们已损坏 - 但另一个 PHP 可以获取所有数据,所以我确信这是可能的,但我不知道不知道怎么办。现在是更详细的版本...
我有一个脚本只是为了查看相机中给定 JPG 文件的所有 EXIF 数据。它 看起来像这样...
$exif_data = exif_read_data ('TEST.JPG', 0, TRUE);
foreach ($exif_data as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
这对于我的上一台相机来说效果很好。然而,当我对我的新 FujiFilm 相机中的任何 JPG 运行它时,我在上面列表中的第一行收到此错误消息..
Warning: exif_thumbnail(TEST.JPG) [exif_read_data]: corrupt EXIF header: maximum directory nesting level reached in (script name) on line (relevant line)
然后它输出一个不完整的 EXIF 数据列表。
我猜对此的第一个 react 是“你的文件已损坏”,但如果我将其上传到 http://exifdata.com/index.php然后它列出了所有 EXIF 数据(包括我真正感兴趣的 GPS 数据)。该网站显然也在 PHP 上运行,因此我建议确实可以使用 PHP 从中获取 GPS 数据。
我尝试用谷歌搜索错误消息,但我得到的只是一些旧的 2005 或 2007 PHP bug,以及一个类似的 stackoverflow 线程,没有人回答 - Issues extracting exif data for exif 2.3 using PHP Version 5.2.9 .
那么...有什么想法吗?
最佳答案
我也有一台富士相机也有同样的问题,但我想我已经找到了解决方案,我在这里提出了一个 PHP 错误报告:https://bugs.php.net/bug.php?id=66443
如果您可以从源代码编译自己的 PHP(或说服您的网络主机为您这样做),那么修复起来很简单。
关于PHP - Fulifilm 照片的 exif 数据损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11584238/