当我使用exif_read_data()从原始文件读取EXIF数据时,很多数据都被破坏了。 还是我想。

我要读取的文件是Pentax Kx相机的DNG Raw文件。
这是一个演示: http : //server.patrikelfstrom.se/exif/? file= _IGP6211.DNG
(作为比较,我从佳能EOS 1000D中添加了标准JPEG)

我在此网站上没有任何错误,并且似乎包含了exif_read_data()不返回的数据。 http://regex.info/exif.cgi

我正在谈论的损坏数据是: ...”¯/ѳf/ÇZ/íÔ.??ƒ.9:./<ñ.TÛ¨.zâh!o†!™˜...
并且:UndefinedTag:0xC65A

服务器正在运行PHP版本5.5.3

===============>>#1 票数:2 已采纳

仅仅因为数据不可读 ,并不意味着它是垃圾。

您看到的那些值是私有EXIF字段 ,由实施者确定。 它们可以是二进制数据,可以是文本,也可以是任何东西。 此清单可以帮助您确定其中一些值。

例如,标记0xC634是DNGPrivateData ,它是专门用于处理DNG文件的程序的数据。

===============>>#2 票数:1

您可以使用该文件将未定义的标签映射到它们最有可能使用的标签:

https://github.com/peterhudec/image-metadata-cruncher/blob/master/includes/exif-mapping.php

看来您的脚本0xc634 => 'SR2Private'死于0xc634 => 'SR2Private'

在这里看http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Pentax.html看起来像是用来在相机上存储有关闪光灯的信息吗? 我不确定,但是它可能不是重要的信息,也可能不是以文本格式查看的。

我可能只是列出似乎要死掉的密钥,遍历exif数据,看看它是否以undefinedkey:开头,然后将密钥重命名为映射的密钥,或者取消设置这些项:

$bad_keys = array('0xc634', ..., '0xc723');

foreach ( $exif as $key => $value ) {
    if ( strtolower( substr( $key, 0, 13 ) ) == 'undefinedtag:' ) {
        //use the file with the map of undefined tags
        //either change the key, or unset it if it's one 
        //that seems to be corrupt
    }
}

  ask by Patrik translate from so

未解决问题?本站智能推荐:

1回复

从exif_read_data不支持的图像格式读取元数据

我目前正在使用exif_read_data从JPG,JPEG,TIFF和TIF文件中加载信息。 有没有简单的方法可以手动读取其他图像(例如PNG,BMP,GIF)? 使用fread或类似的东西?
5回复

PHP exif_read_data非法的IFD大小

我正在开发一个应用程序,我在其中修改从AWS桶下载的jpeg文件的方向(如果存在)。 在这里,您可以验证此图像是否具有exif旋转部分。 我下载图像 在我尝试通过Gregwar Image库修复方向之后。 我尝试了几个图像,我总是收到消息 我认为这是一个与我如
3回复

PHP:exif_read_data()未定义

我现在正在学习如何从图像中提取exif。我写了这样的简单代码: 但是,运行代码时,未定义的exif_read_data()存在致命错误。 我是一个Windows用户,我已经像这样修改了php.ini: 谢谢你的帮助。
1回复

exif_read_data:关键字解码错误

我正在使用exif_read_data()从上传的图片中提取exif数据。 这在我的Windows机器上运行良好,但在装有最新XAMPP的Mac上,除关键字/标记外,似乎所有字段均已正确提取。 如果我在文件中查找,则相机模型(已正确提取)以ASCII编码(似乎每个字符一个字节)。 但是,关
2回复

php exif_read_data错误?

我正在使用php构建的某些软件。 适用于汽车经销商网站。 rpnmotorsinc.net 问题是能够上传图像。 如果我上载大多数jpg或jpeg文件,则通常可以正常上传。 由于我的客户不想调整尺寸/重新保存图像,因此他希望直接将佳能相机中的照片拍摄到计算机上以上传到网站,而无需重
1回复

exif_read_data()说给定资源

我从这里获得了一个代码http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php来获取用户调整尺寸后发送的图像。 这是发送图像时的处理方式。 这是image_resize.php的一部分: 我不
1回复

PHP 7.2上的exif_read_data不会返回所有元数据

在PHP 7.2上,内置函数exif_read_data向PHP 7.1返回不同的信息。 这是我使用7.2时得到的: php -r 'var_export(exif_read_data("x.jpg", "ANY_TAG"));' 但是,当我在7.1上运行完全相同的代码时,我
2回复

即使jpeg中存在元数据,exif_read_data()也会返回false

由于某种原因,即使我知道我所有的jpeg图像都具有元数据属性,exif_read_data()在目录中的每个图像上都返回false。 我还不是一个PHP向导,所以也许我有语法错误,或者我只是想缺少对那些PHP向导来说很明显的东西。
2回复

exif_read_data - APP1 Exif标识符代码不正确

当我想阅读EXIF数据时,我的一些照片有问题。 我的代码如下: 对于一些图像,我得到warrning:消息:exif_read_data(001.jpg)[function.exif-read-data]:不正确的APP1 Exif标识符代码 我的问题是:我怎样才能解除这种警
2回复

依赖exif_read_data()的代码停止产生预期的输出

我有一个photoblog,可从我的图像( http://php.net/manual/en/function.exif-read-data.php )中打印出EXIF信息。 一直很好,直到今天。 它只是停止打印数据。 我尚未对文件进行任何更改。 图像位于wordpress上传文