2011-05-22 87 views
4

我的目標是向控制檯打印更新進度百分比(在Linux和Windows中)。目前我只打印出每個10%的百分比,但我更希望它每1%更新一次,而不用百分比填滿屏幕。如何從PHP中的控制檯中刪除文本?

是否可以刪除您在PHP中寫入控制檯的文本?

+1

或者使用'print'17%\ r「;'。如果使用回車符'\ r'而不是換行符'\ n',光標將被放置在行的開始處,這允許下一個輸出覆蓋它。 – mario 2011-05-22 19:06:28

+0

馬里奧:謝謝!這回答了我還沒有問過的問題:-) – Hubro 2011-05-22 21:31:38

回答

3
echo chr(8); 

將打印退格字符。

+0

不錯!這在Windows CMD中起作用。這會在Linux中工作嗎? – Hubro 2011-05-22 19:07:54

+0

在Ubuntu Linux 10.04上試了一下,它工作。 – Oswald 2011-05-22 20:25:47

0

PEAR的Console_ProgressBar是這種用例是有用的。

要完全清除控制檯,您可以使用:

if($_SERVER['SHELL']) { 
    print chr(27) . "[H" . chr(27) . "[2J"; 
} 

比保持跟蹤多少字符退格更容易了不少。

相關問題