4

我想从 HEIC 照片中读取 EXIF 数据。

如果我运行:

<?php 
    var_dump(exif_read_data("test.heic"));

我明白了

bool(false)

如果我运行 Linux 工具exiftool test.heic- 那么我可以看到我需要的所有信息(位置、相机名称等)。

如果我运行exif_read_data("test.jpg")- 然后我会得到数据。所以我知道我使用的语法是正确的。

我正在使用 PHP 7.1 和 ImageMagick 6.9.4-10 (1684)。

print_r(imagick::getVersion());
Array
(
    [versionNumber] => 1684
    [versionString] => ImageMagick 6.9.4-10 Q16 x86_64 2017-05-23 http://www.imagemagick.org
)

我需要更新的版本吗?如果是这样,哪些适用于 HEIC?

4

1 回答 1

2

这是 PHP 的 EXIF 扩展中的一个限制。目前 EXIF 扩展只能读取两种文件格式:

  • JPEG
  • 国际电影节

作为 PHP 中 EXIF 的扩展维护者,我不能说有支持更多格式的具体计划,因为直到最近才在 bug 跟踪器上发布了一份关于支持PNG 图像的报告(从 PNG 规范的 1.5 版开始) )。

我对您的建议是将其报告为 PHP 错误跟踪器上的“功能请求”,以便可以对其进行跟踪(如果您可以提供详细信息甚至是实验性实现,这将有助于更快地将其推送到 PHP 中)。目前唯一的选择是将图像转换为 JPEG 或 TIFF 以使它们可以被 EXIF 扩展读取。

于 2019-03-16T21:44:54.850 回答