VDS за 300р от нашего партнера SpaceWeb
[76]
04 Сен 2012, 14:30

Определить файл картинка или нет

Привет!

Как на PHP определить, является ли файл картинкой или чем-то другим?

Делаю программу которая открывает страницу и находит на ней ссылки на изображения, но дело в том что, в тег img чисто теоретически можно засунуть любую другую ссылку на всё что угодно.

Комментарии (4)
xmms 04.09.2012 23:05

Можно написать свою функцию:

function is_image($filename) {
$img = @getimagesize($filename);
if ( ! $img ) return false;
elseif ( ! array_key_exists($img[2],  array('1' => 'gif', '2' => 'jpg', '3' => 'png'))) return false
else return true;
}

Я добавил ещё распознавание типа картинки — GIF, JPEG или PNG. По жалению можно убрать. Например из функции getimagesize, Вы можете определять и размер изображений. Например если вам не нужны всякие иконки которых может быть много.
+1
Antoshka1509 18.06.2013 17:55

Если в переменной image_name хранится имя картинки, полученное из формы загрузки, то вот две строчки:

$type_array = explode(".", $image_name);
$type = $type['2'];
0
Antoshka1509 18.06.2013 17:57

Прошу прощения, тут выше ошибочка
Вместо $type['2'] надо поставить $type_array['1']
+3
grom 20.06.2013 20:29

Пользователь может передать абсолютно любое расширение файла! И что тогда? Первый вариант наиболее правильный. Или использовать богатый функционал ImageMagick.
0

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

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 13327]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 9136]
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 8794]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 8028]
[124]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 6770]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 4910]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 4884]

Вести с Хабра