在 PHP 中从图像 blob(二进制字符串)中提取 EXIF 数据
PHP 函数 exif_read_data()
需要输入文件名,但是我只有字符串中的图像数据(这样我可以使用 imagecreatefromstring()
),但我不能将其写入临时文件。如何提取 EXIF 信息而不将此图像字符串写入磁盘?我真正想要的是 Orientation 属性。如果重要的话,这是在 Linux 系统上。
The PHP function exif_read_data()
requires a filename for input, however I only have the image data in a string (such that I can use imagecreatefromstring()
) and I can not write it to a temp file. How do I extract EXIF information without writing this image string to disk? All I really want is the Orientation attribute. This is on a Linux system if it matters.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
流包装器可以将字符串/图像转换为可用作文件句柄的内容,如此处所示。但是,我看不到任何方法可以将该文件句柄转换为可以伪装成 exif_read_data 期望的文件名的东西。
您可以尝试传递该页面上列出的
data://
伪 URL,并查看 exif 函数是否接受它。A stream wrapper can turn your string/image into something useable as a filehandle, as shown here. However, I can't see any way of turning that filehandle into something that can masquerade as the filename that exif_read_data expects.
You might try passing the
data://
pseudo-url listed on that page and see if the exif function will accept it.添加 @rymo 的评论 @MarcB 的回答作为单独的答案:
这有效:
Adding @rymo’s comment on @MarcB’s answer as a separate answer:
This works: