使用PHP从HEIC照片读取EXIF数据

使用PHP从HEIC照片读取EXIF数据,php,exif,heic,Php,Exif,Heic,我想从HEIC照片中读取EXIF数据 如果我跑步: <?php var_dump(exif_read_data("test.heic")); 如果我运行Linux工具exiftool test.heic,那么我可以看到我需要的所有信息(位置、相机名称等) 如果我运行exif\u read\u data(“test.jpg”),那么我就会得到数据。所以我知道我使用的语法是正确的 我正在使用PHP7.1和ImageMagick 6.9.4-10(1684) 我需要更新版本吗?如果是

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

如果我跑步:

<?php 
    var_dump(exif_read_data("test.heic"));
如果我运行Linux工具exiftool test.heic,那么我可以看到我需要的所有信息(位置、相机名称等)

如果我运行
exif\u read\u data(“test.jpg”)
,那么我就会得到数据。所以我知道我使用的语法是正确的

我正在使用PHP7.1和ImageMagick 6.9.4-10(1684)


我需要更新版本吗?如果是这样,哪些可以与HEIC一起使用?

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

  • JPEG
  • 争吵
作为PHP中EXIF的扩展维护者,我不能说有支持更多格式的具体计划,因为最近在bug tracker上发布了一份关于支持的报告(从PNG规范的1.5版开始)


我给您的建议是在PHP bug跟踪器中将其报告为“功能请求”,以便可以跟踪它(如果您可以提供详细信息,甚至提供一个实验性实现,这将有助于更快地将其推入PHP)。目前唯一的选择是将图像转换为JPEG或TIFF格式,以使其通过EXIF扩展可读。

该ImageMagick版本是PHP正在使用的版本吗?@ColeJohnson是的-我编辑了该问题以显示PHP正在使用的版本。从ImageMagick更改日志中,ImageMagick 7需要7.0.8-25,ImageMagick 6需要6.9.10-25。所以你的版本太旧了。你能提供更新吗?
bool(false)
print_r(imagick::getVersion());
Array
(
    [versionNumber] => 1684
    [versionString] => ImageMagick 6.9.4-10 Q16 x86_64 2017-05-23 http://www.imagemagick.org
)