Unix 使用Symfony将更新值写入控制台

Unix 使用Symfony将更新值写入控制台,unix,symfony,Unix,Symfony,像wget这样的实用程序可以将下载百分比写入控制台,并在不写新行的情况下不断更新。此功能的名称是什么?Symfony的控制台组件是否可以使用此功能?如果您在主分支上,则可以使用()。我使用1ed的答案来了解Symfony如何使用2.2中提供的进度帮助器。十六进制字符代码“\x08”(ANSI退格字符)将删除单个字符。如果跟踪最后一行的长度,并使用str_repeat,则可以达到所需的效果 概念证明: <?php $lastLineSize = 0; for ($i = 0; $i <

wget
这样的实用程序可以将下载百分比写入控制台,并在不写新行的情况下不断更新。此功能的名称是什么?Symfony的控制台组件是否可以使用此功能?

如果您在主分支上,则可以使用()。

我使用1ed的答案来了解Symfony如何使用2.2中提供的进度帮助器。十六进制字符代码“\x08”(ANSI退格字符)将删除单个字符。如果跟踪最后一行的长度,并使用str_repeat,则可以达到所需的效果

概念证明:

<?php
$lastLineSize = 0;

for ($i = 0; $i <= 50; $i++) {
    echo str_repeat("\x08", $lastLineSize);
    echo "Iteration {$i} of 50";
    $lastLineSize = strlen("Iteration {$i} of 50");
    usleep(100000);
}

echo " - Done\n";
[root@dev /home/roguecoder] > php test.php
Iteration 50 of 50 - Done
[root@dev /home/roguecoder] >