出现这种情况的原因:
iPhone对拍摄的照片附加了EXIF信息(如镜头、光圈、快门、焦距、相机拍摄角度等),图片被上传后自动根据相机拍摄角度做了旋转。
那么解决方案就是根据图像EXIF信息中的相机拍摄角度(Orientation),再旋转回来就OK了。
php库函数exif_read_data()提供了读取jpg\tiff图像EXIF信息的功能,函数返回数组中的Orientation键值含义对照如下:
1:0°,
3:180°
6:顺时针90°,
8:逆时针90°
后端取得图像EXIF信息后,用imagerotate将图片旋转回来即可。
转摘:https://www.cnblogs.com/haries/p/ios-image-upload.html
解决方案:
一、利用php的exif扩展中的函数
exif_read_data(),具体代码如下:
$image = imagecreatefromstring(file_get_contents($_FILES['filename']['tmp_name']));
$exif = @exif_read_data($image);
$orientation = $exif['Orientation'];
二、利用exif.js
转摘:http://blog.sina.com.cn/s/blog_bd2dba790102wfw5.html
利用exif.js的方法详情这位兄弟的博客上有详情:https://www.cnblogs.com/qianduanjingying/p/5872406.html(黑客PK)
以上仅为自己下回好找记录
|