在IE上传JPG图片的问题_PHP教程

php中文网
发布: 2016-07-13 10:33:12
原创
918人浏览过

前一段时间做了一个图片上传的小程序,今天有人说jpg图片上传不了。我在本地chrome、firefox测了下,发现没有问题,上传正常。我问他用什么浏览器,原来是世界之窗、还有360......我囧。我想,是不是ie的问题?于是我在ie下测了,果然不行。原来的程序如下:

	switch($type)
	{
		case "image/jpeg":
		$resultImage = imagecreatefromjpeg($original);
		imagejpeg($resultImage, $target, $quality); 
		break;
		
		case "image/png":
		$resultImage = imagecreatefrompng($original);
		imagepng($resultImage, $target, $quality_png);
		break;
		
		case "image/gif":
		$resultImage = imagecreatefromgif($original);
		imagegif($resultImage, $target, $quality);
		break;
		
		default :
		die("不支持此文件类型");
        exit;
	}
登录后复制

后来google了下,发现关于jpg格式的图片在IE下确实有些差异。

在IE下上传一副jpg图片,然后打印该上传文件的信息如下:

Array
(
	[name] => bkjia.jpg
	[type] => image/pjpeg
	[tmp_name] => /tmp/phprY0loE
	[error] => 0
	[size] => 71189
)
登录后复制

jpg格式的图片的Mimetype为image/pjpeg。由于开发中都用Chrome或者Firefox开发,在判断时并没有加image/pjpeg,所以导致jpg格式的图片在IE内核的浏览器无法被识别。

下面是各格式图片在不同浏览器中的格式对照:

Cutout老照片上色
Cutout老照片上色

Cutout.Pro推出的黑白图片上色

Cutout老照片上色 20
查看详情 Cutout老照片上色

立即学习PHP免费学习笔记(深入)”;

firefox image/jpeg image/bmp image/gif image/png
ie 6 image/pjpeg image/bmp image/gif image/x-png
ie 7 image/pjpeg image/bmp image/gif image/x-png
ie 8 image/pjpeg image/bmp image/gif image/x-png
登录后复制

传图片时,ie会把 jpg、jpeg翻译成image/pjpeg,png翻译成image/x-png 。而火狐则很标准:jpg、jpeg翻译成image/jpeg,png翻译成image/png。

程序改成这样就OK了。

	switch($type)
	{
		case "image/jpeg":
		$resultImage = imagecreatefromjpeg($original);
		imagejpeg($resultImage, $target, $quality); 
		break;
		
		case "image/pjpeg":
		$resultImage = imagecreatefromjpeg($original);
		imagejpeg($resultImage, $target, $quality); 
		break;
		
		case "image/png":
		$resultImage = imagecreatefrompng($original);
		imagepng($resultImage, $target, $quality_png);
		break;
		
		case "image/gif":
		$resultImage = imagecreatefromgif($original);
		imagegif($resultImage, $target, $quality);
		break;
		
		default :
		die("不支持此文件类型");
        exit;
	}
登录后复制

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752535.htmlTechArticle前一段时间做了一个图片上传的小程序,今天有人说jpg图片上传不了。我在本地Chrome、Firefox测了下,发现没有问题,上传正常。我问他用什...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号