Php exif_读取_数据-APP1 exif标识符代码不正确
当我想读取EXIF数据时,我的一些照片有问题 我的代码如下:Php exif_读取_数据-APP1 exif标识符代码不正确,php,image,exif,Php,Image,Exif,当我想读取EXIF数据时,我的一些照片有问题 我的代码如下: $exif_date = exif_read_data($file_path, 'IFD0'); 通过一些图片,我了解到: 消息:exif读取数据(001.jpg)[function.exif读取数据]:APP1 exif标识符代码不正确 我的问题是:我如何避免这种情况,我能在退出阅读前检查app1是否正确吗? 感谢您的帮助。您可以使用PHP的getimagesize()函数从文件中提取应用程序标记,然后验证APP1标记是否确实包
$exif_date = exif_read_data($file_path, 'IFD0');
通过一些图片,我了解到:
消息:exif读取数据(001.jpg)[function.exif读取数据]:APP1 exif标识符代码不正确
我的问题是:我如何避免这种情况,我能在退出阅读前检查app1是否正确吗?
感谢您的帮助。您可以使用PHP的
getimagesize()
函数从文件中提取应用程序标记,然后验证APP1标记是否确实包含EXIF数据(该标记的内容应以“EXIF”开头)。要快速回答,请查看本文的最后几行
我认为有些代码仍然缺失。我遇到了完全相同的问题,搜索后我发现了多个与此问题相关的网站:
包含两种解决方案的错误报告:
@
放在exif\u read\u data
$imageinfo['APP1']
$imageinfo
数组。现在,我用以下代码测试了我的一幅图像:
<?php
getimagesize("test.jpg", $info);
var_dump($info);
?>
这返回了以下结果:
array(1) {
["APP1"]=>
string(434) "http://ns.adobe.com/xap/1.0/<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Exempi + XMP Core 4.1.1">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:type>Image</dc:type>
<dc:format>image/jpeg</dc:format>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>"
}
数组(1){
[“APP1”]=>
字符串(434)”http://ns.adobe.com/xap/1.0/
形象
图像/jpeg
"
}
顺便说一句,这个看起来不像进出口银行。这看起来更像,但有趣的是,例如exiftool会找到一些exif数据(例如方向)。在中,我发现在一个文件中可以同时包含XMP和Exif数据(第18页)。进一步搜索发现,有这样一个脚本
不管怎样,自从
我仍然会使用
@exif read data($file\u path)
解决方案。我仍然不知道为什么会有这种警告,所以我发现唯一的解决方法是在exif\u read\u data之前加上“@”,如果您正在读取从数据库blob返回的图像数据(作为字符串),那么还有一种情况