2

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 数据列表。

我猜对此的第一反应是“你的文件已损坏”,但如果我将它上传到http://exifdata.com/index.php那么它会列出所有 EXIF 数据(包括我的 GPS 数据)我真的很感兴趣)。该网站显然也在 PHP 上运行,所以我建议确实可以使用 PHP 从那里获取 GPS 数据。

我试过用谷歌搜索错误消息,但我得到的只是一些旧的 2005 或 2007 PHP 错误,以及没有人回答的类似 stackoverflow 线程 -使用 PHP 版本 5.2.9 提取 exif 2.3 的 exif 数据的问题

所以......有什么想法吗?

4

1 回答 1

2

我也有一台富士相机有同样的问题,但我想我已经找到了解决方案,我在这里提出了一个 PHP 错误报告:https ://bugs.php.net/bug.php?id=66443

如果您可以从源代码编译您自己的 PHP(或说服您的虚拟主机为您这样做),这很容易解决。

于 2014-01-08T19:50:19.373 回答