大家可通常用的microtime()获取页面开始和结束时的时间并相减的话,计算结果是页面运行 所经历的一段时间,但这并不一定是该页面自身运行的时间
实例代码如下:
- <?php
- //实例:计算页面运行时加载时间
- //分析:页面打开时获取一个时间,加载完成时获取一个时间,运行时间即二者之差
- //1.自定义函数
- function fn(){
- list($a,$b) = explode(' ',microtime()); //获取并分割当前时间戳和微妙数,赋值给变量
- return $a+$b;
- }
- //2.获取开始时间
- $start_time = fn();
- //5.加载过程
- for($i=0;$i<10000000;$i++){
- // do nothing;
- }
- //3.获取结束时间
- $end_time = fn();
- //4.计算差值
- echo $end_time-$start_time;
- //5.格式化输出
- echo '<br />';
- $t = $end_time-$start_time;
- echo round($t,2);
- ?>
使用microtime()获取页面开始和结束时的时间并相减的话,计算结果是页面运行
所经历的一段时间,但这并不一定是该页面自身运行的时间.因为可能存在多个PHP脚
本页面共同执行的情况,所以我觉得那个方法是不准确的
下面从网上找到一个关于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)."秒";//返回获取到的程序运行时间差
- }
- }
- }
- $timer = new Timer();
- $timer->start();
- //...程序运行的代码
- $timer->stop();
- echo "程序运行时间为:".$timer->spent();
再看简化程序 计算页面加载时间
实例代码如下:
- <?php
- class runtime
- {
- var $StartTime = 0;
- var $StopTime = 0;
- function get_microtime()
- {
- list($usec, $sec) = explode(' ', microtime());
- return ((float)$usec (float)$sec);
- }
- function start()
- {
- $this->StartTime = $this->get_microtime();
- }
- function stop()
- {
- $this->StopTime = $this->get_microtime();
- }
- function spent()
- {
- return round(($this->StopTime - $this->StartTime) * 1000, 1);
- }
- }
- //实例开始
- $runtime= new runtime;
- $runtime->start();
- //你的代码开始
- $a = 0;
- for($i=0; $i<1000000; $i )
- {
- $a = $i;
- }
- //你的代码结束
- $runtime->stop();
- echo "页面执行时间: ".$runtime->spent()." 毫秒";
- ?>
新闻热点
疑难解答