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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
增加反向链接的101个方法 站长推荐
Jan 31 PHP
php 获取mysql数据库信息代码
Mar 12 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
php实现telnet功能示例
Apr 08 PHP
yii操作session实例简介
Jul 31 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
Symfony2联合查询实现方法
Mar 18 PHP
PHP中phar包的使用教程
Jun 14 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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 strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
限制文本字节数js代码
2007/03/06 Javascript
js form action动态修改方法
2008/11/04 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
python实现网站的模拟登录
2016/01/04 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
Python 多进程、多线程效率对比
2020/11/19 Python
入党自我评价优缺点
2014/01/25 职场文书
婚庆公司计划书
2014/09/15 职场文书
2014年党总支工作总结
2014/12/18 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
初一英语教学反思
2016/02/15 职场文书
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers