我只想在每个整数之间以 10 秒的间隔打印从 1 到 10 的计数。
例如。
$i=10; //Time delay
for($j=1;$j<11;$j++)
{
echo $j;
//do something to delay the execution by $i seconds
}
我已经尝试了including flush()
,ob_flush()
,ob_implicit_flush()
的所有内容,但我得到的只是一个冻结的屏幕,直到整个时间被执行。
> http://php.net/manual/en/function.sleep.php
睡眠函数将中断脚本的执行。
但是你有没有考虑过使用Javascript来做这样的事情呢?您的脚本可能会达到最大执行时间,并且会占用服务器上的资源。请改用客户端的资源!
你想要
的比PHP更与javascript相关。因为PHP是服务器端的,所以它不是为执行这些操作而设计的。你可以让它工作,但它不会很漂亮。
在我的逻辑中;从 1 到 10 的计数根本不应该涉及服务器。您可以直接在浏览器中执行此操作,因此请使用javascript。
您想在
PHP 脚本运行时打印倒计时吗?如果是,请尝试该不推荐的片段:
ob_start();
for($i=0;$i<10;$i++) {
echo str_repeat(" ",10000);
echo 'printing...<br />';
ob_flush();
flush();
sleep(1);
}
你看,奇怪的台词:
echo str_repeat(" ",10000);
在决定真正刷新数据之前,浏览器似乎需要一些"数据"。使用javascript进行实时计数器。
使用 jQuery。在$(document).ready
添加 10 秒的延迟以显示特定的div,该div 将包含要在 10 秒后显示的信息。
准备就绪 - http://api.jquery.com/ready/
对于延迟 - http://api.jquery.com/delay/
是的,使用 Javascript,因为由于输出缓冲,使用 HTTP 的 PHP 无法完成此任务。