Verificare se una URL esiste con PHP (Broken Link Checker)

Grazie a PHP è possibile verificare se un link esiste oppure si tratta di un link rotto (cd. broken link). Un simile controllo può essere utile quando gli utenti devono inserire una URL in un form e si vuole verificare automaticamente se il link è valido e funzionante oppure no.

Questa la funzione PHP per effettuare il controllo:

function check_url($url) {
  $headers = @get_headers($url);
  $headers = (is_array($headers)) ? implode("\n", $headers) : $headers;
  return (bool)preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers);
}

La nostra funzione considera validi (e quindi non rotti) tutti i link che producono uno stato HTTP 200 oppure un redirect con stato 301 o 301.

All'interno del nostro codice potremo utilizzare la funzione vista sopra oin questo modo:

if (check_url($url))
  echo "Link funzionante";
else
  echo "Broken Link";

I commenti degli utenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.