我想向用户显示网页在我的网站页脚中完全加载需要多长时间。
我该怎么做呢? 我假设有一个可用于此的函数?
不确定开发此类功能的语言是什么?
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:5)
您可以尝试这样:
$starttime = microtime(true); // Top of page
// Code
$endtime = microtime(true); // Bottom of page
printf("Page loaded in %f seconds", $endtime - $starttime );
正如Ed Heal评论的那样,您需要使用JavaScript作为网络/代理/路由需要考虑在内。
您也可以尝试这种方法:
来自source
将以下代码放在PHP页面的最顶层(如果您在PHP代码部分之前测量代码的特定部分所需的时间)
<?php
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$start = $time;
?>
以下代码必须放在网页的最末端(或PHP代码部分的末尾)
<?php
$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.';
?>
答案 1 :(得分:1)
您需要两次:开始时间和结束时间。使用JavaScript只能近似启动时间,因为脚本只会在加载时触发,而不是之前触发。这意味着您不会测量DNS外观,初始延迟和初始下载等内容。如果您对此限制不满意,请执行以下操作:
onload
确定当前时间另一个警告:通过ajax加载的东西也不在这里测量。在ajax之前运行onload
。
答案 2 :(得分:1)
2个简单步骤即可在页面上显示加载时间:
1。。将此代码放在页面的开始:
<?php $start_time = microtime(true); ?>
2。。将此代码放在页面的末尾:
This page was generated in <?php echo(number_format(microtime(true) - $start_time, 2)); ?> seconds.