2012-12-02 52 views
1

我是命令行中的PHP新手。我正在使用Windows,我想要在命令行中清除屏幕。我搜索了一下,發現這個代碼PHP passthru('cls')不能正常工作

<?php passthru('cls'); ?>

但這個代碼,而不是清除屏幕,它顯示了這個角色「♀」。我也嘗試使用shell_execexec,但他們失敗了。我做錯了什麼嗎?我該如何解決?

感謝:d

+0

'cls'是否在沒有'php'的同一命令行中運行?好像控制代碼沒有被終端仿真器解釋。 – soulseekah

+0

是的,它沒有'php'。我試過使用隨機命令,它顯示與命令行相同的錯誤信息。此外,我嘗試使用'passthru('echo hello');'它工作,它顯示「你好」。 –

+3

'passthru'創建一個單獨的進程並在那裏執行命令;無論這個試圖清除的屏幕(可能沒有)不會是你正在看的那個屏幕。雖然你通過'passthru'獲得了一個命令的原始輸出,但是我懷疑'cls'命令有很多有趣的輸出;它更有可能調用終端程序的一些特殊行爲。 – FoolishSeth

回答

0

一番搜索後,我終於發現,在Windows 7中對我的作品的回答(像上面這樣評論)依賴於ANSI:

echo chr(27)."[H".chr(27)."[2J"; 

這對我的作品標準控制檯,因爲我安裝了Ansicon,這似乎是你錯過的東西......如果你有麻煩,你可能也想試試Console2