PHP: verificare se un sito è offline

PHP dispone dell'estensione cURL per gestire le connessioni remote e lo streaming di rete. Possiamo usare tale estensione per verificare se un sito è offline o meno. Vediamo come fare.

Per ottenere il nostro scopo è necessario impostare un timeout di connessione tra le opzioni di cURL:


function isDomainAvailable ($domain)
{
          
   if(!filter_var($domain, FILTER_VALIDATE_URL)) {
        return false;
   }

   $curlInit = curl_init($domain);
   curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);
   curl_setopt($curlInit,CURLOPT_HEADER,true);
   curl_setopt($curlInit,CURLOPT_NOBODY,true);
   curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);

   $response = curl_exec($curlInit);
   
   curl_close($curlInit);
   
   if ($response) {
   
      return true;
      
   }
   
   
   return false;
           
}

Un esempio d'uso di questa funzione è il seguente:


if (isDomainAvailable('http://www.google.it')) {

    echo 'ok';
    
} else {
   
    echo 'offline';
}
Torna su