您的位置:首页 > 编程语言 > PHP开发

php 计算程序运行时间的类,以及用它和Curl结合Host,实现不用配置Host得到该测试机的访问速度。

2013-05-21 19:03 841 查看
经常在运行php程序的时候,想知道某个程序到底运行了多久。这样可以查找一些程序运行的效率问题。

一)最近写了一个程序运行的时间计算类,供大家参考:

view plainprint?

class Timer {

private $StartTime = 0;//程序运行开始时间

private $StopTime = 0;//程序运行结束时间

private $TimeSpent = 0;//程序运行花费时间

function start(){//程序运行开始

$this->StartTime = microtime();

}

function stop(){//程序运行结束

$this->StopTime = microtime();

}

function spent(){//程序运行花费的时间

if ($this->TimeSpent) {

return $this->TimeSpent;

} else {

list($StartMicro, $StartSecond) = explode(" ", $this->StartTime);

list($StopMicro, $StopSecond) = explode(" ", $this->StopTime);

$start = doubleval($StartMicro) + $StartSecond;

$stop = doubleval($StopMicro) + $StopSecond;

$this->TimeSpent = $stop - $start;

return substr($this->TimeSpent,0,8)."秒";//返回获取到的程序运行时间差

}

}

}

调用:

view plainprint?

$timer = new Timer();

$timer->start();

//...程序运行的代码

$timer->stop();

echo "程序运行时间为:".$timer->spent();

二)不用配置Host得到该测试机的访问速度:

如:我想测试一下那个Host为:C:\Windows\System32\drivers\etc\hosts

72.46.130.186 justwinit.cn 的访问速度,用PHP可以用如下代码:

view plainprint?

<?php

$timer = new Timer();

$timer->start();



$data = "a=a";

$returnStr = curl_post($data);

echo $returnStr;



$timer->stop();

echo "程序运行时间为:".$timer->spent();

?>



<?php

function curl_post($data,$host = "http://72.46.130.186")

{

$ch = curl_init();

$res= curl_setopt ($ch, CURLOPT_URL,$host);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch,CURLOPT_HTTPHEADER,array("Host: justwinit.cn"));



$xyz = curl_exec ($ch);

if ($xyz == NULL)

{

return 0;

}

return $xyz;

}





?>







<?php

class Timer {

private $StartTime = 0;//程序运行开始时间

private $StopTime = 0;//程序运行结束时间

private $TimeSpent = 0;//程序运行花费时间

function start(){//程序运行开始

$this->StartTime = microtime();

}

function stop(){//程序运行结束

$this->StopTime = microtime();

}

function spent(){//程序运行花费的时间

if ($this->TimeSpent) {

return $this->TimeSpent;

} else {

list($StartMicro, $StartSecond) = explode(" ", $this->StartTime);

list($StopMicro, $StopSecond) = explode(" ", $this->StopTime);

$start = doubleval($StartMicro) + $StartSecond;

$stop = doubleval($StopMicro) + $StopSecond;

$this->TimeSpent = $stop - $start;

return substr($this->TimeSpent,0,8)."秒";//返回获取到的程序运行时间差

}

}

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: