Било замечено, что при отправке веб-формы с файлами изображений, 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)
}
}
*/
Так что будьте осторожны с проверкой типов файлов на стороне сервера.
IE гавно
спасибо, помогли)
Потратил 4 часа на выяснение, почему же ie<9 не хочет загружать изображения. Помог лог-файл. На данную статью наткнулся уже по факту "знакомства" с image/pjpeg. Но все равно, за статью спасибо. В избранное.