PHP: effettuare il ping di un sito web

PHP dispone dell'estensione cURL per gestire le connessioni remote e lo streaming di rete. Possiamo usare tale estensione per effettuare il ping di un sito web.

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


function ping_site($url = '') {
          
   if(!filter_var($url, FILTER_VALIDATE_URL)) {
        return false;
   }

   $ch = curl_init($url);
   curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
   curl_setopt($ch,CURLOPT_HEADER,true);
   curl_setopt($ch,CURLOPT_NOBODY,true);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

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