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 相关文章推荐
让你同时上传 1000 个文件 (一)
Oct 09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
php简单生成随机数的方法
Jul 30 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 PHP
PHP中->和=>的意思
Mar 31 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 伪造本地文件包含漏洞的代码
2011/11/03 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
微信自定义分享php代码分析
2016/11/24 PHP
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
Python最长公共子串算法实例
2015/03/07 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python3中布局背景颜色代码分析
2020/12/01 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
Java模拟试题
2014/11/10 面试题
前台接待的工作职责
2013/11/21 职场文书
校园广播稿500字
2014/02/04 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
新员工入职感言范文!
2019/07/04 职场文书
创业计划书之酒厂
2019/10/14 职场文书
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL