php 上传图片文件类型整理

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

附 PHP 的全局数组 $_FILES的内容:
* $_FILES["file"]["name"] – 被上传文件的名称
* $_FILES["file"]["type"] – 被上传文件的类型
* $_FILES["file"]["size"] – 被上传文件的大小,以字节计
* $_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称
* $_FILES["file"]["error"] – 由文件上传导致的错误代码
使用时form要添加 enctype规定了在提交表单时要使用哪种内容类型如:enctype=”multipart/form-data”。

你可能感兴趣的:(php 上传图片文件类型整理)