php识别翻转iphone拍摄的颠倒图片

yipeiwu_com6年前PHP代码库

用iphone横向拍摄并上传的图片往往是向左或向右90度侧向显示的,本文介绍如何用php识别并且翻转图片到正确位置。

ps : 此方法只能判断一些手机相机拍摄的图片位置颠倒 

代码:

// 首先用这个函数读取图片的一些头信息
// 原理就是在头信息中取出图片的位置信息 并且根据位置信息对图片做出调整
// 此函数只能处理jpeg 与 tiff 的图片格式
$exif = exif_read_data ($url,0,true);
 
if(isset($exif['IFD0']['Orientation'])){
 $source = imagecreatefromjpeg($url);//读取图片流
 
 //判断角度翻转
 switch($exif['IFD0']['Orientation']) {
  case 8:
   $image = imagerotate($source, 90, 0);
   break;
  case 3:
   $image = imagerotate($source, 180, 0);
   break;
  case 6:
   $image = imagerotate($source, -90, 0);
   break;
  }
 
 //保存到本地
 imagejpeg($image,'../storage/tmp.jpeg');
 
 //释放内存
 imagedestroy($image);
     
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php封装的表单验证类完整实例

本文实例讲述了php封装的表单验证类。分享给大家供大家参考,具体如下: <?php //封装一个表单验证类 //中文验证、邮箱验证、电话号码、手机、QQ、身份证、(由字...

PHP常见的几种攻击方式实例小结

本文实例总结了PHP常见的几种攻击方式。分享给大家供大家参考,具体如下: 1.SQL Injection(sql注入) ①.暴字段长度 Order by num/* ②.匹配字段 and...

PHP 进程锁定问题分析研究

1. 区分读锁定 和 写 锁定。 如果每次都使用 写锁定,那么连多个进程读取一个文件也要排队,这样的效率肯定不行。 2. 区分 阻塞 与 非 阻塞模式。 一般来说,如果一个进程在写一个文...

php采用curl模仿登录人人网发布动态的方法

本文实例讲述了php采用curl模仿登录人人网发布动态的方法。分享给大家供大家参考。具体实现方法如下: 说到php中模仿登录很多人第一时间会想到curl函数系列了,这个没错本例子也是使用...

php实现parent调用父类的构造方法与被覆写的方法

本文实例讲述了php实现parent调用父类的构造方法与被覆写的方法。分享给大家供大家参考。具体分析如下: 覆写:被重新设计。 在子类中定义构造方法时,需要传递参数给父类的构造方法,否则...