在PHP中从图像blob(二进制字符串)中提取EXIF数据

时间:2011-03-28 22:11:50

标签: php image-manipulation exif

PHP函数exif_read_data()需要输入文件名,但我只有字符串中的图像数据(这样我可以使用imagecreatefromstring())而我无法将其写入临时文件。如何在不将此图像字符串写入磁盘的情况下提取EXIF信息?我真正想要的是Orientation属性。如果重要的话,这是在Linux系统上。

2 个答案:

答案 0 :(得分:23)

流包装器可以将您的字符串/图像转换为可用作文件句柄的内容,如here所示。但是,我看不出任何方法可以将该文件句柄转换为可以伪装成exif_read_data所期望的文件名的内容。

您可以尝试传递该页面上列出的data://伪网址,看看exif函数是否会接受它。

答案 1 :(得分:3)

将@ rymo的评论添加为单独的答案:

这有效:

$exif = exif_read_data("data://image/jpeg;base64," . base64_encode($image));
echo $exif['Orientation'];