我試圖在我的Centos計算機上運行rate -c 192.168.122.0/24
命令,並使用shell_exec('rate -c 192.168.122.0/24')
命令寫下該命令的輸出到文本文件;仍然沒有運氣!php shell_exec()出來得到一個文本文件
回答
當你忘了提,你的命令提供了一個非結束輸出流。要實時讀取輸出,您需要使用popen。從PHP的網站
例子:
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
您可以閱讀過程輸出就像一個文件。
是的這很好的工作非常感謝你非常感謝你的幫助兄弟。 – 2011-04-19 15:40:17
如果你不需要PHP,你可以運行在shell:
rate -c 192.168.122.0/24 > file.txt
如果你必須從PHP運行:
shell_exec('rate -c 192.168.122.0/24 > file.txt');
的 「>」 字符重定向該命令的輸出到一個文件。
那麼如果你自己運行命令你會得到一個輸出嗎?有和沒有「> file.txt」。如果文本文件爲空,這很奇怪,這意味着該命令不會輸出任何結果。 – 2011-04-19 11:45:11
謝謝您的回覆。我可以在終端輸入命令時終止輸出流 – 2011-04-19 11:49:05
@Roshan:您是否遇到過「權限問題」?嘗試在上面提到的命令行中添加'2>&1'。我懷疑你是否可以從php運行任意命令。 – 2011-04-19 11:53:41
您還可以通過PHP得到的輸出,然後將其保存到一個文本文件
$output = shell_exec('rate -c 192.168.122.0/24');
$fh = fopen('output.txt','w');
fwrite($fh,$output);
fclose($fh);
沒有運氣好友沒有得到寫入文本文件 – 2011-04-19 12:27:08
$path_to_file = 'path/to/your/file';
$write_command = 'rate -c 192.168.122.0/24 >> '.$path_to_file;
shell_exec($write_command);
希望這有助於。 :D 這將引導你一個好方法。 https://unix.stackexchange.com/a/127529/41966
- 1. 使用PHP shell_exec()來執行BASH腳本,無法寫入文件
- 2. 輸出到一個文本文件
- 3. 輸出到一個文本文件
- 4. 無法獲取shell_exec來下載文件
- 5. 需要輸出一個php文件到其他php文件
- 6. PHP輸出緩衝到文本文件
- 7. 流出來投入到文本文件PHP的CentOS
- 8. 通過shell_exec中的自定義文件輸出shell輸出php
- 9. txt文件刪除URL到最後一個「/」來獲得文件
- 10. shell_exec一個php文件與MySQL裏面不工作
- 11. 重定向C文件輸出到一個文本文件
- 12. 如何得到的只是出現在一行文本文件
- 13. PHP了shell_exec()導致txt文件?
- 14. PHP,shell_exec和一個輸入
- 15. 導出查詢輸出到一個文本文件
- 16. PHP導出到文本文件 - 僅保存第一線
- 17. 輸出得分從一個測驗到一個.txt文件
- 18. 打印php腳本輸出到文件
- 19. PHP獲得數按從文本文件
- 20. 寫出JSON數據到一個簡單的文本文件
- 21. 輸出到文本文件
- 22. 得到一個跨來源XMLHttpRequest來返回一個XML文件中的HTML5
- 23. 獲得來自url.jsonp文本與PHP
- 24. 得到了一份文件(命令)文本文件夾地址
- 25. PHP - 解析一個CSV文件,並寫入輸出到另一個CSV文件
- 26. 如何從一個php文件得到一個用戶ID並在另一個php文件
- 27. 使用PHP你怎麼輸出一個文本文件到表的鏈接
- 28. 運行一個linux命令,通過PHP輸出到文本文件
- 29. OCR輸出自動保存到一個文本文件到文件夾
- 30. AlertDialog沒有出來,因爲不能得到一個按鈕的文本
你有什麼問題? – alex 2011-04-19 11:39:15
您確定存在'rate'命令嗎?它是否在命令行上工作? – mario 2011-04-19 11:40:00
你能告訴我們在運行命令後你在終端中得到了什麼嗎? – 2011-04-19 11:46:05