如何在PHP中检测互联网速度?

Sha*_*our 12 php performance

如何创建一个PHP页面来检测用户的互联网速度并在页面上显示?就像是,

你的网速是??? Kbps的

cab*_*ret 9

这可能不完全是您正在寻找的(阅读粗体部分),但我怀疑是否还有其他可能.

此脚本向您的客户端发送512 KB的HTML注释.解析HTML可能会增加总传输时间,因此不要将其作为原始下载速度.

引用自:PHP Speed测试

来源在这里:

http://jan.moesen.nu/code/php/speedtest/index.php?source=1

希望有所帮助.

  • 您的链接有403禁止错误. (2认同)

小智 9

<?php
$kb=1024;
echo "streaming $kb Kb...<!-";
flush();
$time = explode(" ",microtime());
$start = $time[0] + $time[1];
for($x=0;$x<$kb;$x++){
    echo str_pad('', 1024, '.');
    flush();
}
$time = explode(" ",microtime());
$finish = $time[0] + $time[1];
$deltat = $finish - $start;
echo "-> Test finished in $deltat seconds. Your speed is ". round($kb / $deltat, 3)."Kb/s";
?>
Run Code Online (Sandbox Code Playgroud)

http://www.emanueleferonato.com/2006/05/31/determine-connection-speed-with-php/


Oll*_*lli 6

例如,通过在客户端计时AJAX请求.这样你可以计算出大致的下载速度,但不能上传.对于上传,发送大型AJAX POST请求可以处理它.

使用jQuery,$.ajax这很简单.


Dej*_*vic 5

通过用户将文件上传到您的服务器。然后将文件大小(以 kb 为单位)除以经过的时间(以秒为单位)。然后您将获得 kb/s(上传速度)。

$kb = round(filesize("file.jpg") / 1024); // 500kb
$time = time() - $start; // 5s
$speed = round($kb / $time); // 100kb/s
Run Code Online (Sandbox Code Playgroud)

  • 但是,什么是“$start”? (2认同)