Проверка существования удаленных файлов

Рецепт №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 или любой другой, в зависимости от настроек сервера.

Рассказать друзьям:


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*