1

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

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

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

我的猜测是这是因为 STDOUT 不正确,或者我必须像回声一样回显?

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

2 回答 2

7

要在 php shell 脚本中使用它,您根本不需要执行任何 shell 命令。只需回显以 a 结尾的输出\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";
?>
于 2013-11-15T09:14:37.487 回答
1

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

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

于 2013-11-15T09:11:05.703 回答