- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我刚刚通过自制软件安装了 composer,而 brew 似乎安装了新版本的 php (5.6.24)。从那时起,使用 exif_read_data 提取其他元数据(模型、曝光、iso 等),但不再从照片中提取 GPS 信息,如“GPSLatitude”。
我通过 exiftool(独立的非 php 程序)运行了同一张照片,照片中确实存在 GPS 数据。
PHP 是用 exif 编译的(因为提取了一些信息),所以我很困惑为什么不再读取 GPS 数据。
最佳答案
这很可能是由于安全修复的回归导致 ext/exif 扩展在“未知”格式的情况下停止解析。
这应该在 7.x 分支(7.0.10 和 7.1.0 Beta 1)中修复应该包含对这些的适当修复,虽然它没有合并到 5.x 分支,它可能会找到它的方式那里。
如果你想要一个补丁(应该很容易转换成 5.x),那么我在这里提交: http://git.php.net/?p=php-src.git;a=commit;h=aabcb5481d9e717df77192dab2894468b9fc63b4
这里有一些关于 ext/exif 的工作原理和错误的背景:
在内部,当我们解析 exif 数据时,它会读出规范提供的标准 exif 标签,但是某些格式具有某些自定义标签。这些通常也会被解析,但是 ext/exif 的局限性在于我们仅(在包括 7.1 在内的稳定分支中)支持 6 种带有扩展标签的格式(每种格式的列表都包含在扩展中)。这就是回归的用武之地。在解析 EXIF 数据时,它按以下顺序完成:
安全修复导致了回归,因为您可以制作假签名并在内部绕过它,这可能会导致无效读取。如果我们知道的格式中烘焙的签名列表中的签名不匹配,修复程序将停止解析,从而停止解析并且不返回像缩略图这样的数据,导致 exif_thumbnail() 基本上不能用于除了 6格式。
目前在 7.x 分支中的修复恢复了这种行为并简单地继续解析那些额外的标签,因此我们不直接支持的那些函数和其他格式将再次起作用。
除此之外,在 7.2 中,我一直在添加对 Samsung、Panasonic 和 DJI 特定标签的支持,目前我也在研究 Sony 特定数据。我们在 php.net 上有一个错误报告,如果您有兴趣更深入地了解它,它会闪闪发光:https://bugs.php.net/bug.php?id=72735 .如果此补丁无法解决您的问题,我们非常欢迎您提交错误报告,以便我们研究解决此问题。
我希望这对您有所帮助,感谢您帮助使 PHP 变得更加强大!
关于PHP exif_read_data 不再提取 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38772471/
我最近更新了 ADT 插件,我的整个 Eclipse-Android 构建系统都停止工作了。从那以后,我尝试了我在互联网上可以找到的所有关于如何解决这个问题的方法。徒然。如果有人有确定的方法来解决此问
我已经知道有类似的话题,但对我来说没有任何帮助...... 这里是信息: 该应用程序始终在模拟器和设备上运行。我最近将该项目重命名为另一个名称。仍然工作得很好。今天我意识到它没有更改文件夹名称,然后它
在装有El Capitan的MacMini上,我无法再进行冲泡了。我收到以下错误: /usr/local/Library/Homebrew/config.rb:34:in `initialize':
是的,所以我不知道发生了什么。我一直在编写一个 AJAX 评论脚本,并且它可以工作,但它不再工作了。我从备份中恢复了它,以防万一我改变了任何东西,但没有运气。它转到表单的“操作”而不是 jQuery,
请原谅我的无能...我正在尝试在全局 var 阶段不再未定义后使用 Proxy 执行一些代码。这是我天真的尝试: ``` var stage = undefined let myObj; let st
我对 segues 了解不多,但我已经开始工作了..但突然间它不再工作了...... 我的代码似乎可以工作,但没有发生 segue: NSLog(@"login started"); if ([use
我已将以下重写规则添加到我的 web.config 中。它运行良好,阻止了所有提及的推荐垃圾邮件站点。然而,今天我突然注意到 social-buttons.com 突然出现在我的 Google Ana
在 C++ 中,可以在翻译单元中使用 static 关键字来影响符号(变量或函数声明)的可见性。 在 n3092 中,这已被弃用: Annex D.2 [depr.static] The use of
升级到 com.crashlytics.sdk.android:crashlytics:2.7.1@aar 后(从 2.6.8 开始),我无法再在 Firebase 应用中禁用 Crashlytics
您好,我遇到了一些障碍,我一直在为我的应用程序重新设计菜单导航。我设法做到了。但现在我的应用程序的一项功能已决定停止运行。 想法是你摇动你的手机,它会随机选择一张图片,与应用程序分开的代码工作正常,就
我有一行(容器)包含三个元素,我想水平显示它们之间的间距相等(并且行的左侧或右侧没有空格)。我正在使用带有 justify-content:space-between 的 flexbox。 这是在 F
直到最近,我才能够在 Windows 上使用 python 3.6.7 时安装 tensorflow 1.5.0 包。现在我不能,从下面的“来自版本”的消息来看,似乎根本没有可用的 tensorflo
不确定是否与最近的更新有关,但我突然无法在 Android Studio 编辑器中获得单行间距。如果我尝试将它更改为 1,它让我设置它,但当我按下“应用”时,它会迅速恢复为 1.5。用不同的字体试过,
我遵循了有关如何在 macOS 上安装 pip 的在线说明(例如 this、this 和 this)。 我看起来很简单,但它不适合我。 我的 python --version 是 2.7.10。 当我
Due to rounding errors, most floating-point numbers end up being slightly imprecise. https://www.flo
我试图让用户从他们在 Android 上的库中选择一张图片。但是当我使用 PictureChooser 插件时,它似乎不再起作用了 我看到这段代码可以工作,但现在不行了,我也不知道为什么。
自 .NET 4.5 起,Exception.HResult 的 setter/getter 现在是 public,但它曾经是 protected。 来自 MSDN: Starting with th
今天去处理一个较旧的 Python2.7 AppEngine 标准项目,但我似乎无法让端点工作。我下载了示例代码,看看我的项目是否是罪魁祸首,但该示例也不起作用。 https://cloud.goog
我是一名优秀的程序员,十分优秀!