[PHP]Jak sprawdzić nie działający adres URL?
Ten wpis ma 16 lat. Od tego czasu przeglądarki i narzędzia mogły się zmienić, więc zanim użyjesz kodu, sprawdź go z aktualną dokumentacją.
Postanowiłem napisać krótki artykuł o tym, jak sprawdzić nie działający adres URL?
Uważam, że jest to przydatne rozwiązanie, bo dzięki temu możemy uniknąć problemów z dotarciem do treści na stronie.
Skrypt ten opiera się na bibliotece cURL znajdującej się standardowo w większości serwerów obsługujących PHP. Co będzie można zobaczyć w dalszej części artykułu.
Zasada jest prosta. Najpierw tworzymy formularz w HTML, który będzie nam służył do wprowadzania danych strony www do sprawdzenia:
<form action="broken-url.php" method="post">
<label for="url"><span>Wpisz adres strony (bez http://):</span><input type="text" name="url" /></label>
<label><input type="submit" name="submit" value="Wyślij" /></label>
</form>
function sprawdz($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$naglowki = curl_getinfo($curl);
curl_close($curl);
return $naglowki['http_code'];
}
< ?php
function sprawdz($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$naglowki = curl_getinfo($curl);
curl_close($curl);
return $naglowki['http_code'];
}
if(!isset($_POST['submit'])) {
?>
<form action="broken-url.php" method="post">
<label for="url"><span>Wpisz adres strony (bez http://):</span><input type="text" name="url" /></label>
<label><input type="submit" name="submit" value="Wyślij" /></label>
</form>
< ?php
}
else {
$url = $_POST['url'];
$powrot = '<br/>Wróć do formularza';
if(!filter_var($url, FILTER_VALIDATE_URL)) {
$stan = sprawdz($url);
if($stan == '200') {
echo 'Link jest prawidłowy i działa.'.$powrot;
}
else
echo 'Link nie istnieje!'.$powrot;
}
else
echo 'Podano błędny adres URL.'.$powrot;
}
?>
Demo z tego artykułu można zobaczyć pod tym adresem: PHP sprawdzenie adresów www.
Mam nadzieję, że ten artykuł okaże się dla Ciebie przydatny.