Kod
<?php
$live = "/status/live.gif";
$dead = "/status/dead.gif";
$link = $_GET['link'].":";
$s_link = str_replace("::", ":", $link);
list($addr,$port)= explode (':',"$s_link");
if (empty($port)){
$port = 80;
}
$churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
if (!$churl){
//echo $errstr;
header("Location: $dead");
}
else {
header("Location: $live");
}
function server($addr){
if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
return $addr;
}
?>
$live = "/status/live.gif";
$dead = "/status/dead.gif";
$link = $_GET['link'].":";
$s_link = str_replace("::", ":", $link);
list($addr,$port)= explode (':',"$s_link");
if (empty($port)){
$port = 80;
}
$churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
if (!$churl){
//echo $errstr;
header("Location: $dead");
}
else {
header("Location: $live");
}
function server($addr){
if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
return $addr;
}
?>
Wszystko ładnie, pięknie, ale jak dodam tam kilkadziesiąt serwerów i przy każdym będzie sprawdzało odpowiedź to trudno się będzie doczekać na wyniki. Dlatego prosiłbym o pomoc jak można ograniczyć czas oczekiwania na odpowiedź np. do 1 sekundy, a jak serwer nie odpowie to od razu wynikiem jest $dead.