Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Неправильно работает определение MIME (PHP vs IE)

420
30 октября 2009 года
Fobos
197 / / 10.03.2006
Здравствуйте!
Есть простое условие при upload-е картинки на сервер:
Код:
if (isset($_FILES['picture']['type'])
&& ($_FILES['picture']['type'] == 'image/jpeg'
|| $_FILES['picture']['type'] == 'image/gif'
|| $_FILES['picture']['type'] == 'image/png'))
         {
///...
/// Выполняемый код загрузки и т.п.,
///если тип соответствует условиям
///...
         }
         else echo "Не правильный тип файла!
(должны быть только картинки jpeg/jpg, gif, png)
<a href=\"upload.php\">Попробуйте заново</a>."
;

Так вот проблема в том, что, почему-то, всё работает на Mozilla Firefox 3.5.x
А вот на IE 8 условие не выполняется (с GIF страбатывает, а с JPG и PNG нет).
Как такое может быть?! Честно говоря, я вообще не представляю - при чем здесь браузер. Ведь проверка осуществляется на стороне сервера.

Помогите разобраться.
244
30 октября 2009 года
UAS
2.0K / / 19.07.2006
Что мешает сделать var_dump($_FILES) и посмотреть, что лежит в $_FILES['picture']['type']?? А уже оттуда плясать и думать.
420
30 октября 2009 года
Fobos
197 / / 10.03.2006
Спасибо, направил в нужное русло! :)

Просто видимо при загрузке браузер передаёт информацию о MIME, поэтому и разница была при загрузке на IE и FF. Получилось, что те .jpg которые я загружал image/pjpeg, а png - image/x-png.
Добавил в условие, и всё.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог