<?
class parsesite
{
function timepass($time_s='',$tp=false,$js=false)
{
$this->tp=$tp;
$this->js=$js;
if ($this->tp!=true && $this->js!=true)
{
date_default_timezone_set('PRC');
static $h=216000;
static $i=3600;
static $s=60;
$H=date(G);
$M=date(i);
settype($M,integer);
$S=date(s);
settype($S,integer);
$times=$H*$h+$M*$i+$S;
if ($times-$time_s>=10)
{
$timepass=true;
$js=true;
}
else
{
if ($times-$time_s>=2 && $timepass=true)
{
$timepass=true;
$js=true;
$this->timepass($times,$timepass,$js);
}elseif($times-$time_s>=2 && $timepass=false)
{
$timepass=false;
$js=true;
$this->timepass($times,$timepass,$js);
}
elseif(($times-$time_s>=2)==false && $timepass=true)
{
$timepass=true;
$js=false;
$this->timepass($times,$timepass,$js);
}
elseif(($times-$time_s>=2)==false && $timepass=false)
{
$timepass=false;
$js=false;
$this->timepass($times,$timepass,$js);
}
else
{
$timepass=false;
$js=false;
$this->timepass($times,$timepass,$js);
}
}
}
else
{
$timepass=false;
$js=false;
}
$this->times=$timepass;
$this->times=$js;
return $this->times;
return $this->timepass;
}
#===============================
function parseurl($url,$whileno=1,$sitestateok='notok')
{
$this->url=$url;
$this->sitestateok=$sitestateok;
$this->whileno=$whileno;
$this->timepass($this->whileno,false,false);
if ($sitestateok!='ok' && $this->timepass==false)
{
$sitestate='notok';
[email=$istate=@fopen($url,]$istate=@fopen($url,'r'[/email]);
if ($istate)
{
$sitestate='ok';
return $sitestate;
}else{
$sitestate='notok';
return $sitestate;
}
$this->sitestateok=$sitestate;
return $this->parseurl($this->url,$this->times,$this->sitestateok);
}else {
return 'ok';
}
}
}
$time_start = getmicrotime();
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
date_default_timezone_set('PRC');
static $rh=216000;
static $ri=3600;
static $rs=60;
$rH=date(G);
$rM=date(i);
settype($rM,integer);
$rS=date(s);
settype($rS,integer);
$rtimes=$rH*$rh+$rM*$ri+$rS;
$s='http://www.sina.com/';
echo $rtimes;
$f=new parsesite;
echo $f->parseurl($s,$rtimes,'notok');
$f=null;
$time_end = getmicrotime();
printf ("[页面执行时间: %.2f秒]\n\n",($time_end - $time_start));
#echo microtime();
?>
问题(由于网络原因,时儿能通过检查,时而不能通过,我想用时间不,控制时间,可是还是不行:可能是我程序的问题^_*)
还有就是,用fopen检测好像效率不高
希望高手们帮看看,要怎么才能达到那种效果
还是就有没有更有效率...
test.rar (868 Bytes)