gpt4 book ai didi

php - 更新命令行输出,即进度

转载 作者:IT老高 更新时间:2023-10-28 12:07:09 26 4
gpt4 key购买 nike

我希望能够在命令行的简单 PHP 脚本中显示进度表。而不是看到

Progress: 0%
Progress: 1%
etc...

我只想更改数字,并替换以前的数字,就像 git clone 所做的那样,例如 Resolving deltas: 100% (8522/8522), done.

在搜索这个时,我发现了 same question answered in Perl ,这是完美的,但我在 PHP 中找不到它。可能吗?如果没有,我会求助于 C。

谢谢

更新:如果有人对 C++ 版本感兴趣,it's here .

最佳答案

这可以使用 ANSI 转义序列 -- see here 来完成列表。

在 PHP 中,当页面上显示 ESC 时,您将使用 "\033"


在你的情况下,你可以使用这样的东西:

echo "Progress :      ";  // 5 characters of padding at the end
for ($i=0 ; $i<=100 ; $i++) {
echo "\033[5D"; // Move 5 characters backward
echo str_pad($i, 3, ' ', STR_PAD_LEFT) . " %"; // Output is always 5 characters long
sleep(1); // wait for a while, so we see the animation
}


我简化了一点,确保我总是有 5 个额外的字符,并且总是显示相同数量的数据,总是向后移动相同数量的字符......

但是,当然,如果需要,您应该能够做更复杂的事情;-)

还有许多其他有趣的转义序列:例如,颜色可以大大增强您的输出;-)

关于php - 更新命令行输出,即进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com