Firefox image/jpeg 与 IE image/pjpeg上传图片类型区别
IE下文件上传遇到jpeg类型的变成pjpeg。
php做一个图片上传的页面:用 input type=”file” 进行文件上传,然后$_FILES接收上传的文件进行处理。结果发现由于浏览器的不同在$_FILES[inputname][type]中获取的图片类型也不同。
经过多次测试,问题终于解决了。原因是ie会把 jpg、jpeg翻译成image/pjpeg,png翻译成image/x-png 。而火狐则很标准:jpg、jpeg翻译成image/jpeg,png翻译成image/png。
为了避免这个问题,我在多个浏览器上做了测试,结果如下:
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
上传图片类型,遇到了个诡异的问题.
由于开发中都用Firefox开发,在判断时并没有加image/pjpeg,
而在IE下确在上传上一jpg图服务器端PHP打印如下.
Array
(
[name] => Sunset.jpg
[type] => image/pjpeg
[tmp_name] => /tmp/phprY0loE
[error] => 0
[size] => 71189
)
格式对照:
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
浙公网安备 33010602011771号