在页面上显示加载时间

时间:2014-08-10 17:21:39

标签: php html load-time

我想向用户显示网页在我的网站页脚中完全加载需要多长时间。

我该怎么做呢? 我假设有一个可用于此的函数?

不确定开发此类功能的语言是什么?

任何帮助都将不胜感激,谢谢。

3 个答案:

答案 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外观,初始延迟和初始下载等内容。如果您对此限制不满意,请执行以下操作:

  1. 在页面的头部使用内联脚本确定当前时间
  2. 点燃onload确定当前时间
  3. 从第二次减去第一次,然后你就有了加载页面的总时间
  4. 另一个警告:通过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.
相关问题