2009-07-18 32 views
4

我需要在php腳本中運行.cmd批處理文件。如何在PHP中運行.cmd文件並顯示結果

PHP將通過瀏覽器中經過身份驗證的會話進行訪問。

當我從服務器的桌面運行.cmd文件時,它將一些輸出吐出到cmd.exe。

我想將這個輸出路由回php頁面。

這是可行的嗎?

+0

[再次添加註釋,因爲鏈接是borked]不會在反引號中包含.cmd文件,就像這裏的.bat文件的例子一樣嗎? http://www.php.net/manual/pl/language.operators.execution.php – sigint 2009-07-18 02:39:52

回答

4

是的,它是可行的。您可以使用

exec("mycommand.cmd", &$outputArray); 

和打印數組的內容:

echo implode("\n", $outputArray); 

look here for more info

2
$result = `whatever.cmd`; 
print $result; // Prints the result of running "whatever.cmd" 
1

使用PHP的popen()函數

2

我更喜歡使用popen對於這樣的任務。特別是對於長時間運行的命令,因爲您可以一行一行地提取輸出並將其發送給瀏覽器,所以減少超時的機會。這裏有一個例子:

$p = popen('script.cmd', 'r'); 
if ($p) 
{ 
    while (!feof($p)) 
     echo gets($p); // get output line-by-line 
    pclose($p); 
} 
相關問題