搜尋
首頁php教程php手册php中计算页面加载时间几种方法总结

大家可通常用的microtime()获取页面开始和结束时的时间并相减的话,计算结果是页面运行 所经历的一段时间,但这并不一定是该页面自身运行的时间

实例代码如下:

<?php
//实例:计算页面运行时加载时间
//分析:页面打开时获取一个时间,加载完成时获取一个时间,运行时间即二者之差
//1.自定义函数
function fn() {
    list($a, $b) = explode(&#39; &#39;, 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 &#39;<br />&#39;;
$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(&#39; &#39;, 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() . " 毫秒";
?>

永久地址:

转载随意~请带上教程地址吧^^

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境