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


Posted in PHP onOctober 16, 2015

当使用苹果的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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
PHP通用检测函数集合
Feb 08 PHP
php重定向的三种方法分享
Feb 22 PHP
解析php类的注册与自动加载
Jul 05 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
php外部执行命令函数用法小结
Oct 11 PHP
关于laravel 子查询 &amp; join的使用
Oct 16 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 #PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 #PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 #PHP
PHP面试题之文件目录操作
Oct 15 #PHP
php cli配置文件问题分析
Oct 15 #PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 #PHP
10个php函数实用却不常见
Oct 13 #PHP
You might like
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
python实现SMTP邮件发送功能
2020/06/16 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Python实现线程状态监测简单示例
2018/03/28 Python
python高阶爬虫实战分析
2018/07/29 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
如何写出好的Java代码
2014/04/25 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
家长给孩子的评语
2014/01/30 职场文书
高考备战决心书
2014/03/11 职场文书
公民代理授权委托书
2014/09/24 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
2015年推普周活动方案
2015/05/06 职场文书
2016党员党课心得体会
2016/01/07 职场文书
初中美术教学反思
2016/02/17 职场文书