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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
简单的php 验证图片生成函数
May 21 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 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
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
jQuery 创建Dom元素
2010/05/07 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
JS跨域总结
2012/08/30 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
浅析Python __name__ 是什么
2020/07/07 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
师范应届生求职信
2013/11/15 职场文书
电脑教师的教学自我评价
2013/11/26 职场文书
公益广告语集锦
2014/03/13 职场文书
篝火晚会主持词
2014/03/25 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
户籍证明书标准模板
2014/09/10 职场文书
三好学生竞选稿范文
2019/08/21 职场文书