php 在页面上显示加载时间

jtoj6r0c  于 2023-01-16  发布在  PHP
关注(0)|答案(4)|浏览(218)

我想向用户显示多长时间的网页需要完全加载在页脚我的网站。
我该怎么做呢?我假设有一个函数可以用来做这个?
不确定这类功能是用什么语言开发的?
任何帮助都将不胜感激,谢谢。

tez616oj

tez616oj1#

你可以这样尝试:

$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.';
?>
camsedfj

camsedfj2#

在页面上显示加载时间的两个简单步骤:
1.将此代码放在页面的开头

<?php $start_time = microtime(true); ?>

2.将此代码放在页面的末尾

This page was generated in <?php echo(number_format(microtime(true) - $start_time, 2)); ?> seconds.
e4eetjau

e4eetjau3#

你需要两次:开始时间和结束时间。使用JavaScript,开始时间只能是近似值,因为脚本只会在加载时触发,而不会在加载之前触发。这意味着您不会测量DNS外观、初始延迟和初始下载等内容。如果您可以接受此限制,请执行以下操作:
1.在页面的头部使用内联脚本确定当前时间
1.在onload击发时,再次确定当前时间
1.从第二次中减去第一次,就得到了加载页面所用的总时间
另一个警告:通过 AJAX 加载的东西在这里也没有度量,onload在ajax运行之前就触发了。

46scxncf

46scxncf4#

其他的答案都是正确的,根据使用的PHP版本有两种方法PHP引入了$_SERVER['REQUEST_TIME_FLOAT']
要嵌入格式化的PageGen时间,请使用以下命令;
PHP7.3蛋白

<div align="center"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size:8px; color #333333;">(PageGen <?
$tt = number_format(rtrim(sprintf("%.20f", (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])), "0"),6,'.',',');
if (strpos(($tt."0"), "0") != 0) {
  $tt = number_format($tt,2,'.',',');
}
echo ($tt);
?> Seconds)</span></div>

在我的一些服务器上,这在PHP7. 4上不起作用,在PHP 4版本上也不起作用,但在文档中有。
附件:
https://php.willtech.net.au/manual/en/function.microtime
https://php.willtech.net.au/reserved.variables.server

相关问题