IE и его нестандартные MIME-типы: «image/pjpeg», «image/x-png»

2011-04-12

Било замечено, что при отправке веб-формы с файлами изображений, Internet Explorer идентифицирует их типы в заголовках в нестандартном виде.

А именно:
Файлы типа JPG, IE определяет как «image/pjpeg», в то время как все остальные браузеры определяют как «image/jpeg».
Тоже самое было обнаружено и с PNG файлами. В IE они определяются как «image/x-png», в то время как в других браузерах — «image/png».
Возможно, есть и другие типы файлов, где есть такое же несоответствие.

Было проверено и обнаружено в IE6, IE7, IE8.

Пример:
Если мы отправим веб-форму, содержащую поле для ввода файла с именем «uploaded_file» и выбранной картинкой «test.jpg» с Internet Explorer-а, а потом распечатаем в php-скрипте содержимое массива $_FILES, то мы увидим, примерно такой, результат:

PHP:

var_dump($_FILES);
/*
array(1) {
["uploaded_file"]=> array(5) {
["name"]=> string(9) "test.jpg"
["type"]=> string(11) "image/pjpeg"
["tmp_name"]=> string(26) "/tmp/phpq0rm83"
["error"]=> int(0)
["size"]=> int(1357)
}
}
*/

Так что будьте осторожны с проверкой типов файлов на стороне сервера.



3 комментария на «IE и его нестандартные MIME-типы: «image/pjpeg», «image/x-png»»

  1. Den:

    IE гавно

  2. ok:

    спасибо, помогли)

  3. Александр:

    Потратил 4 часа на выяснение, почему же ie<9 не хочет загружать изображения. Помог лог-файл. На данную статью наткнулся уже по факту "знакомства" с image/pjpeg. Но все равно, за статью спасибо. В избранное.

Добавить комментарий