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