在用户点击按钮后,我尝试对目标执行10次ping操作。
我可以使用for循环来完成它,但问题是文档会在执行文档中的所有内容时冻结,并且我希望在每次ping完成后回显它。
我现在尝试了多种方法,每次都遇到问题。我想最好的解决方案是使用ajax然后在javascript中循环它,或者只是执行代码几次。然而,我还没弄清楚如何去做。
这就是函数的样子。
function ping($host, $port, $timeout) {
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
if (!$fP) { return "down"; }
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}
我用这个来调用PHP中的函数。
echo ping($website, 80, 10);
所以,我基本上将它添加到函数所在的文档中。
现在,我一直试图弄清楚如何加载一段时间,并且它没有变得很好。希望对此有所帮助。
如何在不冻结文档的情况下加载和使用此功能,直到完成为止?
答案 0 :(得分:0)
结帐phpbuilder.com,它会让你开始,他们对新手非常温和。
您不希望在Ajax上调用此代码10次,它不会对您尝试执行的操作有益,因为它会导致10个不同的请求。最好在一个循环中调用它10次。此外,您应该更改ping以在连接后发送某种形式的数据,然后为响应计时。上面的代码将为连接计时,但就是这样。
您可以发送导致404错误的虚假请求,但这是一个最小响应而不是整页。从发送请求到获取响应所需时间的时间,这将为您提供更真实的ping估计。
更好地描述您的问题,例如 它不起作用,并且有人能够给您更好的答案