[英]PHP CLI, Windows 7 CMD, and CLS/FF need to get along. (Clear Win7 CMD with PHP from CLI)
好吧,現在,我一直在尋找一種方法來實現這一點,顯然互聯網上沒有人知道是什么。 通過互聯網我的意思是谷歌的范圍。
我正在用PHP編寫終端應用程序,以便在Windows 7(x64 Ultimate)的花哨命令提示符下運行PHP CLI。 在程序中,我想清除屏幕。 屏幕上顯示的數據可以是跨越任意數量的行的任意數量的字符。 我不想要任何退格字符黑客或使用回車的說明。 我想清除屏幕。
CMD有一個奇特的CLS命令就是這么做的。 所以,當我運行PHP行system('cls');
或執行清除屏幕命令的任何變化(包括說使用system("command /C cls");
一個答案system("command /C cls");
這不起作用)終端輸出金星符號。 女孩的標志,“顛倒的聖手榴彈”,無論你想稱呼它。 事實證明,這顯然是一種顯示換行符的方法(如果終端實際上表現得如此,則會清除屏幕。)
為什么PHP CLI認為顯示CMD女孩會清除屏幕,我怎樣才能讓CMD 真正清除? 我試過給它發送一個換行符,給它發送一個女孩符號,發送它的籌碼和餅干以及所有形式的好東西。 沒有任何效果。 所以屏幕將永遠不清楚,你可以想象當你不得不重新畫一些東西時會很煩人。 無論如何,歡迎你的幫助。
這是迄今為止我發現的唯一但非常難看的方式:
public function clearStdin()
{
for ($i = 0; $i < 50; $i++) echo "\r\n";
}
在試圖找到解決方案之后,花了近一個小時沒有運氣,答案就在我面前......
這是一個有點舊的ASCII命令的skool方法,它仍然適用於Windows DOS(大多數情況下)......我用它來改變輸出的顏色。
如果您為轉義鍵“\\ 033”的八進制引用,則DOS轉義字符“[”和一個可以執行許多不同任務的鍵代碼,例如更改顏色和...清除屏幕:)
使用以下命令清除php中的屏幕作為echo語句(我沒有設法讓system()使用此命令,但echo對我來說已經足夠了)。
echo "\033[2J"; //clears the screen
echo "\033[1;1H"; //resets pointer back to 1,1 (top, left)
我真的希望這有助於某人:)
進一步閱讀: http : //www.robvanderwoude.com/ansi.php
干杯達爾
找到一種簡單的方法,如果你從批處理文件運行PHP(我在Win7 x64終極上使用XAMPP):
cls
@c:\xampp\php\php program_to_run.php
這個批處理文件在運行PHP之前會清除屏幕,甚至不會再顯示命令promt,因為行的開頭是@。 結果:從清晰的控制台屏幕開始!
你也可以使用\\ r來到一行的開頭,所以如果你只需要重繪一行 (例如一個進度指示器),這可以是一個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.