區別:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以儲存到一個返回的陣列裡面。
passthru() 只呼叫命令,把命令的執行結果原樣地直接輸出到標準輸出裝置上。
如何用php啟動exe程式,並在進程中檢視?(推薦學習:PHP視訊教學)
function query_process($service) { /* **檢視WINDOWS系統進程列表,並查詢指定進程是否存在 */ $tasklist = $_SERVER["WINDIR"]."/system32/tasklist.exe"; //找到windows系統下tasklist的路徑 //print($tasklist); //列印tasklist的路徑 @exec($tasklist,$arr); //執行tasklist.exe,返回一個陣列$arr //print_r($arr); //列印陣列 //用迴圈列印進程列表 foreach($arr as $value) { $list = explode(" ",$value); print($list[0].'<br />'); //查詢指定進程並列印 if($service==$list[0]) { return true; } } return false; }
上面的程式碼主要是啟動了工作管理員,然後根據返回的資料判斷是否啟動了所要判斷是否執行的程式。
啟動程式的程式碼:
<?php $out1 = ""; $a=exec ("e:my.exe",$out1); //如果程式的名字為漢字,便啟動不了 //$a=exec("D:soft坐標正反算.exe",$out1); print_r($out1); echo '<br/>'; print_r($a);
如何是想執行帶有漢字名稱的程式,則需要借助iconv()函數,便可以執行帶有漢字名稱的程式了。
<?php $out1 = ""; exec(iconv ( 'UTF-8', 'GBK', 'D:soft坐標正反算.exe' ),$out1); print_r("out is:".$out1); echo '<br/>'; print_r($a);
以上就是php怎麼啟動exe檔案的詳細內容,更多請關注TW511.COM其它相關文章!