如何清除php cli中的屏幕(如cls命令)

Roo*_*125 18 php windows

当PHP脚本从命令行(windows)运行时,如何从脚本中清除控制台屏幕.

例如 :

while(true){
    // sleep for 10 seconds , then clear the console
    sleep(10);

    // below command execute to clear the console windows
    **COMMAND**
}
Run Code Online (Sandbox Code Playgroud)

小智 19

如果您对上述解决方案没有任何好运,请考虑以下事项

echo chr(27).chr(91).'H'.chr(27).chr(91).'J';   //^[H^[J  
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助.

资料来源:http://pank.org/blog/2011/02/php-clear-terminal-screen.html

  • 另外,顺便说一下,这可以缩短为:`echo "\e[H\e[J";`(在普通的 PHP 中) (6认同)

Oli*_*ier 11

对于Windows用户:

system('cls');
Run Code Online (Sandbox Code Playgroud)

对于Linux用户:

system('clear');
Run Code Online (Sandbox Code Playgroud)

  • system("cls")会在屏幕上放置一个chr(12)("换页"字符),但不会清除它. (10认同)
  • 在Windows上不起作用. (4认同)
  • 为什么这是一个可以接受的答案,但在Windows上不再起作用了! (2认同)

tre*_*der 5

找到了一个解决方案,它适用于cmdGitBash 和 GitBash。然而,这是我能想到的最丑陋的清除控制台屏幕的实现。遗憾的是,没有任何可行的替代方案。

“魔术”是……用五十个新行戳控制台,就像这样:

public function clearStdin()
{
    for ($i = 0; $i < 50; $i++) echo "\r\n";
}
Run Code Online (Sandbox Code Playgroud)

这是2006 年这篇非工作(对我而言)帖子的修改(固定?)版本。