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 相关文章推荐
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
PHP分页效率终结版(推荐)
Jul 01 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
php批量删除cookie的简单实现方法
Jan 26 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
php + nginx项目中的权限详解
May 23 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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
function.inc.php超越php
2006/12/09 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
js实现图片局部放大效果详解
2019/03/18 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
Python数据集切分实例
2018/12/08 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
2014年党员公开承诺践诺书
2014/03/25 职场文书
安全承诺书范文
2014/03/26 职场文书
村抢险救灾方案
2014/05/09 职场文书
企业文化演讲稿
2014/05/20 职场文书
党委领导班子整改方案
2014/09/30 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
借条格式范本
2015/05/25 职场文书
运动会新闻报道稿
2015/07/22 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL