• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios端浏览器拍照上传到服务器,图片被旋转90度php解决方案

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、可以通过前端进行解决,本案例通过后端解决的

判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转

重点来了:

必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图片都是通过Canvas重新生成的新图片,所以不包含相关扩展信息

如果前端要压缩请在前端获取扩展信息或者直接在前端转角度(从原始文件中获取扩展信息)

前端处理方案 请百度 exif.js

if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], 'iPad')){
		    try{
		    	$picAddr=$_FILES['file']['tmp_name'];
				$exif = @exif_read_data($picAddr);
				if(isset($exif['Orientation'])){
					$image = imagecreatefromjpeg($picAddr);
                    if($exif['Orientation'] == 3) {
                        $result = imagerotate($image, 180, 0);
                        imagejpeg($result, $picAddr, 100);
                    } elseif($exif['Orientation'] == 6) {
                        $result = imagerotate($image, -90, 0);
                        imagejpeg($result, $picAddr, 100);
                    } elseif($exif['Orientation'] == 8) {
                        $result = imagerotate($image, 90, 0);
                        imagejpeg($result, $picAddr, 100);
                    }
                    isset($result) && imagedestroy($result);
                    imagedestroy($image);
				}
			}catch(\Exception $e){
				//echo $e->getMessage();
			}
}

  

没踩坑一次 进步一点点


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php高版本安装ecshop错误解决方法发布时间:2022-07-10
下一篇:
PHP下实现端口复用/劫持发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap