PHP 中 Orientation 属性判断上传图片是否需要旋转

人只需不取得标的目标,就不会取得自己。有没有人爱,我们也要努力做一个可爱的人。不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。

当使用苹果的iOS系统拍照上传图片的时候,可能会遇到图片被旋转的问题,这主要是取决于你拍照时拍照按钮的位置。假设拍照时你把手机旋转过来底部朝上,那拍出来的照片也是被旋转了的。

下面的代码将确保所有上传的照片在上传时都能是正确定向:

<?php
$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));
$exif = exif_read_data($_FILES['image_upload']['tmp_name']);
if(!empty($exif['Orientation'])) {
 switch($exif['Orientation']) {
  case 8:
   $image = imagerotate($image,90,0);
   break;
  case 3:
   $image = imagerotate($image,180,0);
   break;
  case 6:
   $image = imagerotate($image,-90,0);
   break;
 }
}
// $image now contains a resource with the image oriented correctly
?>

经测试,Android拍照的 Orientation 属性都是1,判断不出是否被旋转了。

到此这篇关于PHP 中 Orientation 属性判断上传图片是否需要旋转就介绍到这了。人生最大的敌人是自已怯懦。更多相关PHP 中 Orientation 属性判断上传图片是否需要旋转内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例

yii2 上传图片的示例代码

PHP实现上传图片到数据库并显示输出的方法

PHP Laravel 上传图片、文件等类封装

PHP+JavaScript实现无刷新上传图片