大家可通常用的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中计算页面程序运行时间的实例有需要的朋友可参考一下.
最近写了一个程序运行的时间计算类,供大家参考:
实例代码如下:
<?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() . " 毫秒"; ?>
永久地址:
转载随意~请带上教程地址吧^^