Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проверка на существование GIF на другом сайте (PHP)  (Прочитано 15131 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alexthunder
Гость
« : 31-03-2004 08:55 » 

Нужно проверять в PHP скрипте, существует ли картинка типа
http://vasya.com/pupkin.gif.
Картинку естественно загружать не хочется.

Посоветуйте пожалуйста, есть ли способ, лучше чем тспользование fopen.
Записан
Skubent
Гость
« Ответ #1 : 31-03-2004 11:24 » 

Кажется, нет.
Записан
alexthunder
Гость
« Ответ #2 : 31-03-2004 11:45 » 

А креститься не надо Улыбаюсь
Записан
Fireworm
Гость
« Ответ #3 : 31-03-2004 11:48 » 

Делай через сокеты. Посылай HTTP запрос, и парси HTTP ответ.
Причем достаточно прочитать первых несколько байт. Т.е. ответ сервера и узнать, есть файл или нет.
Если  код возврата 404 - картинка не найдена...
усли  200 -  значит все нормально
 и т.д. можеш обработать все варианты ответов сервера...
Записан
Skubent
Гость
« Ответ #4 : 31-03-2004 12:32 » 

Fireworm, рвать соединение по таймеру предлагаешь ?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 31-03-2004 13:06 » 

Попробуй HTTP запрос HEAD - может сработает.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Skubent
Гость
« Ответ #6 : 31-03-2004 14:57 » 

RXL, он все равно в ответе всю картинку вернет...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 31-03-2004 17:34 » 

Skubent, "он" может делать что угодно, но на HEAD вернет только заголовок, без тела документа. Если конечно http-сервер не кривой.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
alexthunder
Гость
« Ответ #8 : 01-04-2004 03:43 » 

В принципе у меня fopen заработал для этого и я не захотел заморачиваться с HTTP запросами. Не знаю, правильно ли.
fopen вроде картинку не возвращает, а только связывает ее с потоком
Записан
alexthunder
Гость
« Ответ #9 : 01-04-2004 04:25 » 

А с HTTP запросами не хотелось возиться еще потому, что некоторые сайты header не посылают, когда ответ должен быть 200.
Записан
Skubent
Гость
« Ответ #10 : 01-04-2004 08:08 » 

RXL, если я правильно помню стандарт HTTP, ответ на HEAD конфигурится сервером. То есть в одном случае отдается только заголовок, в другом - весь документ. ИМХО, не универсальное решение Улыбаюсь
Записан
alexthunder
Гость
« Ответ #11 : 02-04-2004 03:30 » 

Видимо придется оставить fopen. На крайняк можно обрабатывать onerror в самом HTML теге
Записан
xAL
Гость
« Ответ #12 : 02-04-2004 03:42 » 

alexthunder, все правильно, fopen-ом - самое то. Если поток открылся, значит файл есть, если не открылся, значит нету.
Записан
murka3000
Гость
« Ответ #13 : 16-06-2007 21:28 » 

Во! как раз этот вопрос я и хотел задать!
кто-нибудь может привести краткий пример кода как это можно сделать или на худой конец код чтобы при ошибке что-то делалось(например выскакивало сообщение)

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines