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 相关文章推荐
用PHP实现文件上传二法
Oct 09 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
PHP实现小偷程序实例
Oct 31 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
yii2安装详细流程
May 23 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 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
extjs fckeditor集成代码
2009/05/10 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
python从入门到精通(DAY 1)
2015/12/20 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
python实现一个简单的ping工具方法
2019/01/31 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
python3中sys.argv的实例用法
2020/04/24 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python 实现控制鼠标键盘
2020/11/27 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
计算机网络专业推荐信
2013/11/24 职场文书
主管竞聘书范文
2014/03/31 职场文书
婚礼秀策划方案
2014/05/19 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis