PHP shell 脚本 'echo -ne' 如何?(壳牌进度条)


PHP shell script 'echo -ne' how? (Shell Progressbar)

我有一个PHP脚本,我想在其中显示它的进展。从这个超级问题和完美答案 如何将进度条添加到 shell 脚本?我试图模仿这种行为:

shell_exec("echo -ne '######      30%''r");

但是没有任何东西被打印到屏幕上。

我的猜测是因为STDOUT不正确,还是我必须回声像

echo shell_exec("echo -ne '######      30%''r");

要在 php shell 脚本中使用它,您根本不需要执行任何 shell 命令。只需回显以'r结尾的输出

echo "######      30%'r";

示例脚本:

<?php
for ($i = 0; $i < 100; $i += 5) {
  $bar = str_repeat("#", $i/10);
  echo "$i% $bar 'r";
  sleep(1);
}
echo "'n";
?>

PHP 命令行界面中有一个很好的例子: http://brian.moonspot.net/php-progress-bar

它直接在PHP中完成,无需系统调用。