- 论坛徽章:
- 0
|
找到原因了,原来是MS IE别出心裁,由他上传的文件类型image/jpeg变成了image/pjpeg,弄得我程序不认识。
正好发现有位老兄有同样问题:
http://www.webmasterworld.com/forum88/5931.htm
I have an instance in PHP where I need to grab the extension for a certain mime type. So what I did was just grab all of the mime types and extensions from the mime.types file on my apache server. Well the mime.types file does not have image/pjpeg it has image/jpeg. Why would I need image/pjpeg? Well because when uploading a jpg in IE $_FILES['field_name']['type'] = image/pjpeg.
This is a problem because when I upload a jpg in every other browser besides IE $_FILES['field_name']['type'] = image/jpeg like it supposed to. When I upload a jpg in IE $_FILES['field_name']['type'] = image/pjpeg. So it goes through the mime.types file and doesnt find image/pjeg and doesnt return an extension. I use this extension for many things. Is there anyways to solve this problem without having hack together my code so it accepts image/pjpeg?
Thanks for your help.
You could maintain your own mime-types file and append them to the Apache mime-types in your script (I'm assuming you are reading them into an array or something).
Another option is to simply read the first five characters of the type to see if it is an image
if (substr($_FILES['field_name']['type'], 0, 5) == 'image')) {
and use the existing extension as you said. |
|