In questo articolo vedremo come controllare l’esistenza di un determinato URL utilizzando PHP. In parole povedere dobbiamo verificare se sul server esistono o meno i contenuti che stiamo richiedendo attraverso l’URL. Possiamo agevolmente verificare l’esistenza di URL in due modi:
- il primo è la funzione get_header();
- il secondo metodo è l’uso della libreria CURL.
Fondamentalmente bisogna verificare l’header HTTP dell’URL e sulla base di questo determinare se esiste oppure no. Il codice 200 rappresenta un URL funzionante mentre il codice 404 rappresenta la pagina non trovata, quindi un URL non funzionante o inesistente.
Metodo 1: Funzione get_headers()
Usando la funzione get_headers siamo in grado di ottenere le informazioni dell’Header HTTP dell’URL.
$url = "http://www.domain.com/demo.jpg";
$headers = @get_headers($url);
if(strpos($headers[0],'404') === false) {
echo "URL esiste";
}
else {
echo "URL non esiste";
}
Nota: Se si imposta il secondo parametro della funzione get_headers() a true allora si otterrà il risultato in un array associativo.
Metodo 2: libreria cURL
$url = "http://www.domain.com/demo.jpg";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);
$result = curl_exec($curl);
if ($result !== false) {
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 404) {
echo "URL non esiste"
}
else {
echo "URL esiste";
}
}
else {
echo "URL non esiste";
}
Nota: Abbiamo usato CURLOPT_NOBODY per controllare solo per l’instestazione, il resto del contenuto non ci interessa.
Condividete le vostre opinioni / commenti / suggerimenti qui sotto.



