Google App Engine PHP exif_read_data函数

时间:2015-08-05 09:42:36

标签: php google-app-engine google-cloud-storage

我需要根据图像方向旋转图像并调整其大小。 我从exif_read_data($ source)函数获取图像方向。

我在开发服务器上的

$source="https://bucket.storage.googleapis.com/file.jpg"
$data=exif_read_data(($source));

它有效。

但是在生产服务器上。它没有。

它给了我这个错误

exif_read_data(file.jpg): Error reading from file: got=x3FFA(=16378) != itemlen-2=x49DE(=18910)

并将$ source更改为绝对路径

$source="gs://bucket/file.jpg"
$data=exif_read_data(($source));

它在开发和生产中都会返回此错误。

exif_read_data(file.jpg): File too small (0)

如何让它在生产服务器中运行?

1 个答案:

答案 0 :(得分:0)

可能是因为dev和prod服务器上有不同的php版本。例如,它来自该错误报告:Bug #75785 Many errors from exif_read_data

解决方案可能是使用

$img = new \Imagick(file.jpg);
$allProp = $img->getImageProperties();
$exifProp = $img->getImageProperties("exif:*");

该解决方案的完整故事here