Pues yo directamente saque de la documentación de php la apertura del socket con fsockopen no con fopen.
A mi me funciona, pongo dos ejemplos y mira la diferencia.
Código PHP:
<?php
$fp = fsockopen("www.forosdelweb.info", 80, $errno, $errstr, 30);
//$fp = fsockopen("www.forosdelweb.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
Ya es solo adaptarlo con los aportes que te han dado. Por favor siempre lee la documentación oficial, no simplemente hagas copiar y pegar