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 31 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
浅析PHP绘图技术
Jul 03 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
Smarty变量用法详解
May 11 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
php微信公众号开发之现金红包
Apr 16 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
tp5递归 无限级分类详解
Oct 18 PHP
laravel框架邮箱认证实现方法详解
Nov 22 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中OO之静态关键字以及类常量的详解
2013/06/07 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
详解Python字符串对象的实现
2015/12/24 Python
简单易懂的python环境安装教程
2017/07/13 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
应届大学生自荐信
2013/12/05 职场文书
申报职称专业技术个人的自我评价
2013/12/12 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
防震减灾主题班会
2015/08/14 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
Golang bufio详细讲解
2022/04/21 Golang