Я создаю проверку битых ссылок.До сих пор мне удавалось заставить это сканировать указанную пользователем страницу для ссылок, а затем отображать полный список ссылок, так что я знаю, что они их находят.Что мне нужно сделать сейчас, так это заставить его проверить каждую из этих ссылок на наличие ответа HTTP (который я затем могу выделить некоторым способом позже).
$html = file_get_contents($_POST['urlInput']);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');
echo $url.'<br>';
Именно здесь начинается моя проблема.Приведенный выше код найдет и отобразит все ссылки на странице, и я пытаюсь выяснить, как проверить каждую из них.Приведенный ниже код не работает, но, будучи совершенно новым для PHP, я не понимаю, что это такое и / или не делает!
get_http_response_code($url);
}
function get_http_response_code($url) {
$headers = get_headers($url);
return substr($headers[0], 9, 3);
}
$get_http_response_code = get_http_response_code($url);
if ( $get_http_response_code == 200 ) {
echo "Working!";
} else {
echo "Broken!";
}
А сейчас я просто хотел бы узнать, как заставить его работать или не работать для каждой ссылки.
Заранее спасибо!