Рецепт №69. Из книги «128 рецептов php»
Перейти к оглавлению
Не всегда приходится работать с файлами, которые находятся на сервере, с которого запускаются скрипты. Существует немало примеров, когда работать приходится с файлами, которые расположены на удаленных серверах.
Прежде чем получать данные с удаленных файлов, будет не лишним осуществлять проверку существования таких файлов. В связи с этим, следующий рецепт.
Пример:
// пример использования
$result = isset_file("
http://vk-book.ru/img/favicon.png
");
var_dump($result);
/**
* Функция определяет существование удаленного файла
*
* @param $url - string ссылка на файл
*
* @return bool
*/
function isset_file($url){
$headers = @get_headers($url);
// проверяем ответ сервера
if(preg_match("|200|", $headers[0])){
// если ответ с кодом 200
return true;
}else{
return false;
}
}
Приведенный пример, работает благодаря функции get_headers, которая получает заголовки отданные сервером, при обращении по url. В случае существования файла, сервер должен вернуть код ответа, равный 200. В противном случае код будет 404 или любой другой, в зависимости от настроек сервера.
