не работает upload в IE

r4sh

Новичок
Не там проверки надо делать. Достаточно проверить что картинка - один из поддерживаемых типов изображения.(по mime, по расширению). По mime не универсально. Всречал где отключен mime_content_type() . Можно написать свой компонент определения mime-типа, конечно, или взять готовый. Но его легко подделать опять же.
Опасны скрипты, а скрипты исполняются апачем только по расширению - значит сохранить с соответствующем расширением(jpeg, png, gif, jpg...). И убедиться что это расширение не может исполняться как скрипт(иногда делают капчи как image.jpg, а это пхп скрипт.), и защититься от null-byte.
И опять же, если человек называл гифку как .jpg, и исковеркал еще и mime, то это врядли допропорядочный пользователь, и заботится, чтобы сервис корректно работал и для него - нет смысла.
 

yok

Новичок
Добрый день.
Спасибо большое kvf77.
Тут еще одно решение нашел, в массиве возвращаемуму функцией getimagesize(), можно обратиться к индексу ['mime'], хотя описания этого индекса в функции не нашел, но он работает.
$size=getimagesize($image);
$format=strtolower(substr($size['mime'],strpos($size['mime'],'/')+1));
$func='imagecreatefrom'.$format;

Конечно, kvf77, Ваш подход самый оптимальный.
Что я написал это для движения серого вещества.
 
Сверху