PHP shell脚本'echo -ne'怎么样? (Shell Progressbar)

时间:2013-11-15 09:02:59

标签: php shell echo command-line-interface shell-exec

我有一个PHP脚本,我想展示它的进展。 从这个超级问题和完美答案How to add a progress bar to a shell script?我试图模仿这种行为:

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

但是屏幕上没有任何内容。

我的猜测是因为STDOUT不正确,或者我必须回应回声吗?

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

2 个答案:

答案 0 :(得分:7)

要在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";
?>

答案 1 :(得分:1)

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

在没有系统调用的情况下直接在PHP中完成。