PHP CLI、Windows 7 CMD 和 CLS/FF 需要和谐相处。 (从 CLI 使用 PHP 清除 Win7 CMD)

标签 php windows console newline command-line-interface

好吧,我一直在到处寻找一种方法来完成这个,显然互联网上没有人知道发生了什么。我所说的互联网是指 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/

相关文章:

使用外部主机名时 PHP 响应缓慢

php - 通过从表中传递多个分隔的逗号 id 获取记录,其中 id 在 mysql 表中也是逗号分隔的

linux - 通过传递路径打开文件在 Linux 上有效,但在 Windows 上无效

c# - 为什么我的 .NET 控制台应用程序在等待 Ctrl-C 时挂起

java - 如何在 Safari 中激活 Java 和 Java 控制台?

php - 如何在php中设置当前页面 "active"

php - 重复使用相同的 curl 句柄。性能大幅提升?

windows - 批处理变量名中的冒号

使用 Maven 的 Java 无法构建 : Cannot run program "cmd" "Malformed argument has embedded quote"

c++ - 以编程方式模拟 Alt + Enter 按键不起作用