我需要获得访问我网站的用户的下载速度,是否可以使用PHP? 如果是这样,怎么做?。
请建议..
提前致谢。
答案 0 :(得分:1)
只有一种好方法,就是询问用户。尝试给出有意义的名字,这样你就不会过多地混淆计算机文盲。
唯一的另一个选择是向用户发送大小的东西并计算到达所需的时间,但浪费其他人的带宽是粗鲁的,特别是如果你最终堵塞他们与某人分享的连接。
答案 1 :(得分:0)
不确定如何在PHP中运行(在错误的一端,在服务器而不是客户端上运行),但我想你可以使用AJAX了解下载速度。
您可能会在页面加载期间在某个固定点异步回调您的网站,以便了解客户端在此时间点接收页面所需的时间。
或者,您可以让一些JavaScript从您的站点执行文件下载并下载时间,并在下载完成时回拨。这种方式可能是一个更可靠的指示,因为回调不是下载时间计算的一部分。
已更新评论
与本地计算机的网络连接,例如使用“localhost”作为目标地址,实际上不会访问网络。
您可以通过简单的ICMP ping来验证这一点。
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.041 ms
查看时间 - 0.045ms非常小。
但是,如果你与远程主机通话,即使它与它非常接近,因为你实际上正在与网络进行交互,一切都会变慢。
PING 192.168.xxx.xxx (192.168.xxx.xxx) 56(84) bytes of data.
64 bytes from 192.168.11.1: icmp_seq=1 ttl=64 time=1.85 ms
64 bytes from 192.168.11.1: icmp_seq=2 ttl=64 time=1.54 ms
在这个示例中,它在localhost连接上的速度提高了大约40倍,但我知道它更多 - 所以你会发现与远程主机通信的性能明显慢于本地主机。
希望有助于解释。
答案 2 :(得分:0)
您可以要求您的用户运行许多可用的带宽测试之一,例如this one。