sådan... nu virker det... også selvom domainet ikke findes eller host er en IP...
Der er dog mindst en fejl... hvis du laver opslag på "[IP]/side.html" ligner det at scriptet hænger... ;)
---
<?php
// funktioner
function checkSite($uri){
$pos = strpos($uri, "/");
if($pos !== false){
$host = substr($uri, 0, $pos);
$page = substr($uri, $pos+1, strlen($uri)-$pos);
}
else{
$host = $uri;
$page = "";
}
if(ereg("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}", $host) || gethostbyname($host) !== $host){
$sock = fsockopen($host, 80);
fputs($sock, "GET /" . $page . " HTTP/0.9\n");
fputs($sock, "Host: " . $host . "\n");
fputs($sock, "\n");
$data = fgets($sock,2048);
fclose($sock);
if(ereg("404 Not Found", $data)) return false;
else return true;
}
else return false;
}
function checkSiteText($uri){
if(checkSite($uri)) echo "<font color=\"green\">Online</font> | $uri<br>";
else echo "<font color=\"red\">Offline</font> | $uri<br>";
}
// afprøvelse med text return
checkSiteText("
www.eksperten.dk/konto.phtml");
checkSiteText("
www.eksperten.dk/enside.asp");
checkSiteText("
www.soeloeve.dk/");
checkSiteText("
www.thomaslunde.dk");
checkSiteText("
www.sukkerbolle.com/");
checkSiteText("
www.sex.com/");
checkSiteText("80.199.149.130");
//checkSiteText("80.199.149.130/findes.php"); // hænger
?>
---
Morten