我有这个简单的PHP脚本,它每秒输出一个字符串。

<?php
$i = 1;

while(1)
{
    exec("cls");    //<- Does not work
    echo "test_".$i."\n";

    sleep(1);
    $i++;
}

我在Windows上的命令 shell 中执行脚本(php myscript.php),并尝试在每个周期之前清除命令 shell 。但是我没有使它起作用。有任何想法吗?

最佳答案

这个怎么样?

<?php
$i = 1;
echo str_repeat("\n", 300); // Clears buffer history, only executes once
while(1)
{
    echo "test_".$i."\r"; // Now uses carriage return instead of new line

    sleep(1);
    $i++;
}
str_repeat()函数在while循环之外执行,而不是用新行结束每个 echo ,它将指针移回现有行,并在其顶部进行写入。

10-04 11:38
查看更多