移动端上传图片iphone图片旋转以及服务端处理方法
判断是否需要旋转
/**
*iphone判断图片方向,是否需要旋转图片
*/
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')&&in_array($ext, array('jpg','png','gif','jpeg','jepg'))){
$exif =exif_read_data($tmp);
switch ($exif['Orientation']){
case 6:
self::imgturn($tmp,1,$ext);
break;
case 3:
self::imgturn($tmp,1,$ext);
self::imgturn($tmp,1,$ext);
break;
case 8:
self::imgturn($tmp,2,$ext);
break;
}
}
一下是php旋转方法
function imgturn($src, $direction = 1,$ext) {
switch ($ext) {
case 'gif' :
$img = imagecreatefromgif ( $src );
break;
case 'jepg':
case 'jpg' :
case 'jpeg' :
$img = imagecreatefromjpeg ( $src );
break;
case 'png' :
$img = imagecreatefrompng ( $src );
break;
default :
die ( '图片格式错误!' );
break;
}
$width = imagesx ( $img );
$height = imagesy ( $img );
$img2 = imagecreatetruecolor ( $height, $width );
// 顺时针旋转90度
if ($direction == 1) {
for($x = 0; $x < $width; $x ++) {
for($y = 0; $y < $height; $y ++) {
imagecopy ( $img2, $img, $height - 1 - $y, $x, $x, $y, 1, 1 );
}
}
} else if ($direction == 2) {
// 逆时针旋转90度
for($x = 0; $x < $height; $x ++) {
for($y = 0; $y < $width; $y ++) {
imagecopy ( $img2, $img, $x, $y, $width - 1 - $y, $x, 1, 1 );
}
}
}
switch ($ext) {
case 'jepg':
case 'jpg' :
case "jpeg" :
imagejpeg ( $img2, $src, 100 );
break;
case "gif" :
imagegif ( $img2, $src, 100 );
break;
case "png" :
imagepng ( $img2, $src, 100 );
break;
default :
die ( '图片格式错误!' );
break;
}
imagedestroy ( $img );
imagedestroy ( $img2 );
}
移动端上传图片iphone图片旋转以及服务端处理方法的更多相关文章
- js无刷新上传图片,服务端有生成缩略图,剪切图片,iphone图片旋转判断功能
html: <form action="<{:AppLink('circle/uploadimg')}>" id="imageform" me ...
- 上传图片到七牛云(服务端 node.js sdk)
大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...
- android-HttpClient上传信息(包括图片)到服务端
需要下载apache公司下的HttpComponents项目下的HTTPCLIENT ----------地址为http://hc.apache.org/downloads.cgi 主要是用到了htt ...
- 微信小程序开发之多图片上传+服务端接收
前言: 业务需求,这次需要做一个小程序同时选中三张图片一起上传到服务端,后端使用的.NET WEBAPI接收数据保存. 使用技术: 在这章中将会使用到微信小程序wx.uploadFile(Object ...
- IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践
说到ios的应用开发,我们不能不提到web server服务端,如果没有服务端的支持,ios应用开发就没有多大意义了,因为从事过手机开发的朋友都知道(Android也一样),大量复杂业务的处理和数据库 ...
- TCP客户端图片上传服务端保存本地示例
//TCP客户端public class TCPClient { public static void main(String[] args)throws IOException { Socket s ...
- Java - PhantomJS + EChartsConvert实现ECharts图片保存到服务端
1.所需工具 1>phantomjs:官网下载http://phantomjs.org/download.html 国内镜像http://npm.taobao.org/dist/phantomj ...
- [转]微信小程序开发(二)图片上传+服务端接收
本文转自:http://blog.csdn.net/sk719887916/article/details/54312573 文/YXJ 地址:http://blog.csdn.net/sk71988 ...
- 微信小程序---图片上传+服务端接受
原文地址:http://blog.csdn.net/sk719887916/article/details/54312573 微信小程序,图片上传,应用地方-修改用户信息的头像. 详细代码: 小程序的 ...
随机推荐
- 系统右键菜单添加剪贴板清空项(隐藏DOS窗口)
@color 0A @title 系统右键菜单添加剪贴板清空项(隐藏DOS窗口) by wjshan0808 @echo off echo 请输入右键菜单名称 set /p name= ::创建本机A ...
- HTML5的Server-Sent Events介绍////////////////zzz
HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据推送).我们来看下,传统的WEB应用程序通信时的简单时序图: 现在Web App中,大都有A ...
- hadoop的学习
http://www.aboutyun.com/thread-6179-1-1.html
- UEditor上传图片等附件都出现红叉,该怎么解决
------解决方案-------------------------------------------------------- 引用: 在本地这样配置就没问题:var URL = window. ...
- 在 Windows 10 中启用 Windows Photo Viewer
本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4727323.html 不知大家在使用了Win10之后有没有这样感受 ...
- Objective-C基础4
1.强指针:默认的情况下所有的指针都是强指针,关键字__strong 弱指针:__week关键字修饰的指针 2.ARC:编译器将自动在代码合适的地方插入retain.release.autorelea ...
- 【转】移动前端不得不了解的html5 head 头标签
来源:http://blog.csdn.net/huang100qi/article/details/42596799 本文主要内容来自一丝的常用的 HTML 头部标签和百度FEX的HTML head ...
- FolderSync PC 电脑 FTP 同步方法
1.PC上用IIS搭建一个FTP即可,用电脑上的FTP软件测试通过即可(有可能在FTP软件帐号管理中,要选 “主动”模式) 2.FolderSync 建立FTP帐户后,要选“旧版库”(帐户页面最下方) ...
- [转载] 不查资料确定int型整数的最大值和最小值
原文地址:http://blog.csdn.net/zhanghuoding/article/details/42719213 想法来自于书中的习题. Java的话直接输出 Integer.MAX_V ...
- 响应式编程 Part.01 (Layout and MVVM)
内部技术交流会PPT Keywords Less Requirejs Mvvm Bootstrap kendo 下载完整PPT