Posts tagged with: get_headers()

Verificare l’esistenza di un URL con PHP

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.


Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi