Un sistema es con la funcion fsockopen(), aqui te dejo unas funciones que te serviran para vaidadar enlaces
Código PHP:
function parametros($entrada)
{
$ArrayUrl = parse_url($entrada);
$port=$ArrayUrl['port'];
$host=$ArrayUrl['host'];
$path=$ArrayUrl['path'];
if (!$port) $port = "80";
if ($port != "80") $port = $port;
$return['port']=$port;
$return['host']=$host;
$return['path']=$path;
return $return;
}
function ValidarVinculos($vinculo)
{
$request="";
$urlArray= parametros($vinculo);
$sock = @fsockopen($urlArray['host'], $urlArray['port']);
if (!$sock) $contesta['code'] = "No responde";
else {
$request .= "HEAD $urlArray[path] HTTP/1.1\r\n";
$request .= "User-Agent: Valid link ([url]http://centropromoweb.com[/url])\r\n";
$request .= "Host: $urlArray[host]\r\nConnection: close\r\n";
$request .= "Connection: close\r\n\r\n";
fputs($sock, $request);
while($str = fgets($sock, 128)) {
if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $contesta['code'] = trim(eregi_replace("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", "\\1", $str));
if (eregi("^Content-Type: ", $str)) $contesta['contentType'] = trim(eregi_replace("^Content-Type: ", "", $str));
if (eregi("text/html", $str)) $contesta['contentType'] = "text/html";
if (eregi("^Content-Length: ", $str)) $contesta['peso'] = trim(eregi_replace("^Content-Length: ", "", $str));
$contesta[]=$str;
}
}
return $contesta;
}
Espero que te sirvan
un salduo