显示实时值

时间:2013-12-10 05:55:17

标签: php real-time

说我有以下内容:

for ($i = 0; $i < 10; $i++) {
    echo $i;
    sleep(1);
}

现在,这将显示:

0123456789

但是,加载需要9秒,并且不会实时显示。 我将如何显示它:

0(1 second)2(1 second)3(...)

我的第二个问题涉及覆盖页面上的当前数据。 例如,假设我有与上面相同的代码。但是,我想将每个数字显示为自身。所以页面将是:

0

然后1秒后

1

等等。

3 个答案:

答案 0 :(得分:0)

for ($i = 0; $i < 10; $i++) {
    echo $i."\n";
    $timeFirst  = strtotime(date());
    sleep(1);
    $timeSecond = strtotime(date());
    echo ($timeSecond - $timeFirst)." second(s) \n";
}

答案 1 :(得分:0)

您只能使用客户端脚本(如javascript)执行此操作。只有在完成服务器端脚本的执行后才会加载DOM

您无法执行每个命令并将输出呈现到Web浏览器,除非您在CLI中执行此操作或通过客户端执行此操作。

答案 2 :(得分:-1)

试试这个

for ($i = 0; $i < 10; $i++) {
    echo $i;
    flush();
    ob_end_flush();
    sleep(1);
}