【发布时间】:2016-06-08 00:57:31
【问题描述】:
我正在使用此代码从其 base64 编码数据中获取 JPEG 图像的 Exif 方向。
$exif = exif_read_data('data://image/jpeg;base64,' . $base64EncodedImageData);
$orientation = $exif['Orientation'];
但是,此代码速度很慢,尤其是在处理高清图像时。有什么方法可以更快地获得方向?
传递实际文件路径而不是 base-64 编码字符串时似乎要快得多,但图像不在磁盘上,并且我只有 base-64 编码字符串。
【问题讨论】:
-
你试过给它一个路径而不是一个blob吗?:
exif_read_data('/path/to/image.jpg'); -
@mistermartin 我只有一个blob。不过,使用路径确实要快得多(刚刚测试过)。
-
尝试仅获取需要的标签并禁用对数组的解析,在您的情况下为
exif_read_data($img, 'IFD0', false) -
@maximkou 不起作用。我认为您误解了第二个参数的用途 - 它指定了函数不返回 false 需要存在的部分。
标签: php