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] >