l'esempio migliore è quello sotto tramite le curl poichè quello con la socket è buono ma non sempre esatto (ad esempio se volessi postare una pagina su porta diversa dall' 80 potrebbe fallire).
Usa quello, scorporandolo dalla classe, quindi senza il $this->url ma inviando l'url direttamente in funzione (quindi non usata come metodo) altrimenti, se non hai le curl abilitate, prova una cosa semplice tipo questa:
codice:
function checkUri($uri) {
$connection = null;
$result = false;
if(!preg_match("/^[ht|f]tp[s]?:\/\/[^\[[:space:]]+]/", $uri))
$uri = "http://".$uri;
if(@$connection = fopen($uri, "r")) {
$result = true;
fclose($connection);
}
return $result;
}
echo checkUri("www.3site.it") ? "OK" : "NO";

P.S. se l'host non ha abilitata la lettura di pagine esterne mi sa che non vai lontano ne così, ne con le curl, ne con le socket