ОБСУЖДЕНИЕ

Проверка Url на работоспособность

2 ответов 4,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Как мне проверить URL на работоспособность, т.е. битая ссылка или нет...
Или есть скрипт уже такой??? :(
 
делаешь так :
[codebox]$handle = fopen("https://codeby.net/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
if(strlen($contents)>10000){//наверно где-то около 10000
echo 'Сылка рабочая';
}
exit;[/codebox]
 
Можно еще использовать CURL и смотреть какой заголовок тебе отдала страница:

Код:
<?php
$url = 'http://yandex.net/ad';
// Инициализируем curl
$ch = curl_init();
// Задаем URL
curl_setopt($ch, CURLOPT_URL, $url);
// Формируем заголовок
curl_setopt($ch, CURLOPT_HEADER, 1);
// Говорим, что возвращать сам контент нам не нужно
curl_setopt($ch, CURLOPT_NOBODY, 1);
// Вернуть данные передачи
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Записать данные в переменную
$res = curl_exec($ch);
curl_close($ch);
echo '<pre>'; print_r($res); echo '</pre>';

if (strstr($res, 'HTTP/1.1 200 OK')) echo 'Рабочая';
else echo 'Не рабочая';
?>