ATL*_*ris 7 php time load pageload
我在标题中有什么:
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$start = $time;
Run Code Online (Sandbox Code Playgroud)
我在页脚中有什么:
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$finish = $time;
$total_time = round(($finish - $start), 4);
echo 'Page generated in ' . $total_time . ' seconds.';
Run Code Online (Sandbox Code Playgroud)
输出:页面生成时间为1292008977.54秒.
有人可以帮我弄清楚为什么结果不对吗?我使用的是PHP5.
看到这是Google的第一个结果,我想我会分享我对这个问题的解决方案.把它放在页面顶部:
$startScriptTime=microtime(TRUE);
Run Code Online (Sandbox Code Playgroud)
然后将此代码放在页面底部:
$endScriptTime=microtime(TRUE);
$totalScriptTime=$endScriptTime-$startScriptTime;
echo "\n\r".'<!-- Load time: '.number_format($totalScriptTime, 4).' seconds -->';
Run Code Online (Sandbox Code Playgroud)
查看页面源时,您可以在HTML最后一行的注释中看到加载时间.
microtime()以microseconds返回当前的Unix 时间戳。我没有看到任何数学运算可以将微秒转换为秒。
microtime(true)以秒为单位以浮点数形式返回时间
您可以使用此简单函数来避免变量范围问题:
<?php
function timer()
{
static $start;
if (is_null($start))
{
$start = microtime(true);
}
else
{
$diff = round((microtime(true) - $start), 4);
$start = null;
return $diff;
}
}
timer();
echo 'Page generated in ' . timer() . ' seconds.';
Run Code Online (Sandbox Code Playgroud)