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 nelle opzioni di cURL:
function is_domain_online($url) {
if(!filter_var($url, FILTER_VALIDATE_URL)) {
return false;
}
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
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 === false) {
return false;
}
return true;
}