好吧,我一直在到处寻找一种方法来完成这个,显然互联网上没有人知道发生了什么。我所说的互联网是指 Google 的范围。
我正在用 PHP 编写一个终端应用程序,以便在 Windows 7 (x64 Ultimate) 的精美命令提示符下在 PHP CLI 中运行。在程序中,我想清屏。屏幕上显示的数据可以是任意数量的字符,跨越任意数量的行。我不想要任何退格字符破解或使用回车符的说明。我想清屏。
CMD 有一个奇特的 CLS 命令可以做到这一点。因此,当我运行 PHP 行 system('cls');
或执行清除屏幕命令的任何变体时(包括那个说使用 system("command/C cls ");
不起作用)终端输出金星符号。少女招牌,“倒挂圣手榴弹”,随便你怎么称呼吧。事实证明,这显然是显示换行符的某种方式(如果终端实际表现正常,将清除屏幕。)
为什么 PHP CLI 认为向女孩显示 CMD 会清除屏幕,我如何才能让 CMD 实际上清除?我试过给它发送换行符、女孩符号、薯片和 cookies 以及所有形式的好东西。没有任何效果。因此屏幕将永远不清晰,您可以想象当您不得不重新绘制某些东西时这会很烦人。无论如何,欢迎您的帮助。
最佳答案
This到目前为止,我发现这是唯一但非常丑陋的方法:
public function clearStdin()
{
for ($i = 0; $i < 50; $i++) echo "\r\n";
}
关于PHP CLI、Windows 7 CMD 和 CLS/FF 需要和谐相处。 (从 CLI 使用 PHP 清除 Win7 CMD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532245/