function check_exists($url)
{
if($sock=@fsockopen($url, 80)) {
fputs($sock, "HEAD / HTTP/1.0\r\n\r\n");
if (preg_match ("/(\d{3})/", fgets($sock), $match)) {
return $match[1];
}
}
return -1;
}

От того, что убрал @ и поставилАвтор оригинала: WP
http://phpfaq.ru/debug
ini_set('display_errors',1);
error_reporting(E_ALL);
А это надо если он стоит в откытии сокета?Автор оригинала: kruglov
А где HOST-заголовок?
"HEAD http://$url/ HTTP/1.0\r\n\r\n"

Так я запрашиваю не IP, а конкретный домен (т.е. субдомен)Автор оригинала: kruglov
На народе на 1 ipшнике тыщи сайтов. Как народ узнает, какой из них показывать?
function check_exists($url) {
$metaUrl = parse_url($url);
if ( !isset($metaUrl['host']) ) {
return false;
}
$request = $metaUrl['path'];
if ( !$request ) {
$request = '/';
}
if ( isset($metaUrl['query']) ) {
$request .= "?".$metaUrl['query'];
}
if ( isset($metaUrl['fragment']) ) {
$request .= "#".$metaUrl['fragment'];
}
$request = "HEAD ".$request." HTTP/1.1\r\nHost: ".$metaUrl['host']."\r\n\r\n";
if( ($sock=@fsockopen($metaUrl['host'], 80, $errno, $errstr, 30)) ) {
$contents = '';
fputs($sock, $request);
while( ($buf = fgets($sock)) ) {
$contents .= $buf;
}
if ( !$contents || preg_match ("/HTTP\/1\.1 ([4-5]\d{2})/", $contents, $match) ) {
return false;
}
if (preg_match ("/HTTP\/1\.1 (\d{3})/", $contents, $match)) {
return $match[1];
}
}
return false;
}
Большое спасибо!так что правим это дело:
Увы, хостинг-проайдер не поддерживает.но вообще-то в PHP есть CURL