file_exists и удаленный сервер

  • Автор темы Автор темы Jon
  • Дата начала Дата начала

Jon

Новичок
Подскажите как лучше проверить существование файла на удаленом сервере (сайт в одном месте, база картинок в другом).
Или есть решение только через fopen, и не "тормознутей" ли оно чем file_exists
 
Существование файла можно проверить по FTP, а по HTTP можно проверить только существование документа. В комментариях к file_exists() ты сможешь найти примеры.
 
Вурдалак
угу, спасибо.
нашел реализацию через fopen, этого мне достаточно

PHP:
function fileExists($path){
     return (@fopen($path,"r")==true);
}
 
Вурдалак
а не временозатратно ли это? если на одной странице будет отправляться 20-30 таких запросов. на получение заголовков.
 
А есть ли смысл вообще проверять? Если сервер с картинками упал - он упал, и ничего ты проверками не сделаешь. А если не упал, то что его проверять?
 
флоппик ну проверять на наличие фотки, т.к. в базе она может числится а на серваке нет, не хочется дыры выводить вместо картинок.
 
Ну так пусть у тебя твой сервак картинок отмечает в базе, что кто-то запросил картинку, которой у него нет, делов-то. И никакой лишней работы.
 
флоппик
угу, типа такого флага и делаю. для админов, чтобы знали. а то наудаляли картинки с FTP зачем то.
 
Jon
если на хостинге картинок поддерживается php , то можно еще замутить api проверки наличия файла
с основного сервака дергаеш пхп скрипт на дочке, который по имени файла возвращает 1 - есть , -1 - нет .
Отсутвие ответа - чтото с дочерним хостингом.

другой вариант - возвращать список картинок из папки целиком, если фотки раскиданы по подпапкам
по какомоту принципу обеспечивающему их разумное кол-во в поддиректории.
транспорт может быть сжат gzipом
 
Зачем проверять все, если можно помечать те, которых нет в момент запроса? А каких нет — узнает сервер картинок, когда у него запросят ее. Превентивные проверки вам ничего не дадут, поскольку сделать ничего нельзя, если картинку удалили. Точнее, ничего такого, чего бы по факту запроса не смог сделать сервер картинок самостоятельно.
 
Ну, я имел ввиду почти это — только не парсить, повесить обрабочик на 404 для картинок.
 
Сверху