【问题标题】:how to change something php echo'ed如何更改 php 回显的内容
【发布时间】:2013-04-05 18:35:29
【问题描述】:

我正在编写一个 PHP 脚本,它将使用 myfile.php 中的 shell 命令运行。
我想显示一个进度条,它会像这样随时间变化:

[------]

[*-----]

[****--]

我不知道这是否是做这种事情的最佳实践,但我想用一个简单的echo 来做,并且外壳中进度条的位置不变。

完成后,我想删除整个加载的东西。

一般来说,我如何更改我已经 echo'ed 的内容?

【问题讨论】:

    标签: php shell


    【解决方案1】:

    您需要使用的是 ANSI 转义序列。

    StackOverflow 上的这个问题和答案涵盖了它,您应该能够根据自己的需要调整它,看看:Update Command-line Output, i.e. for Progress

    【讨论】:

      【解决方案2】:

      chr(8) 是退格字符。通过一些数学运算,您可以打印足够多的数据以将光标移回栏的开头,并将新数据打印在您之前打印的位置之上。

      不要在栏的末尾打印换行符。

      这个问题:如果您对输出进行任何类型的文本捕获,它会将这些内容提取到捕获的文本中,但在控制台窗口中看起来会很好

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-29
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-27
        相关资源
        最近更新 更多