首頁 >後端開發 >PHP問題 >php中exec和system的差別是什麼

php中exec和system的差別是什麼

青灯夜游
青灯夜游原創
2020-09-28 14:20:391904瀏覽

php中exec和system的差異:system執行外部程式並且顯示輸出,它可以輸出和傳回結果;exec執行外部程式不輸出結果而是傳回結果的最後一行,但如果新增第二個參數array,也可以得到完整的結果。

php中exec和system的差別是什麼

推薦:《PHP影片教學

在PHP中呼叫外部指令,可以用exec 及system來實作: 

system() ---執行外部程序,並且顯示輸出 

原型:

string system (string command [, int return_var])

system( )函數很其它語言中的差不多,它執行給定的命令,輸出和返回結果。第二個參數是可選的,用來得到指令執行後的狀態碼。

    回傳結果

##        成功回傳0,   

       失敗(指令不存在等原因)   回傳 非) ---執行外部程式



原型:

string exec (string command [, string array [, int return_var]])

exec ()函數與system()類似,也執行給定的命令,但不輸出結果,而是傳回結果的最後一行。雖然它只會傳回指令結果的最後一行,但用第二個參數array 可以得到完整的結果,方法是把結果逐行追加到array的結尾處。所以如果array不是空的,在呼叫之前最好用unset()最它清除。只有指定了第二 個參數時,才可以用第三個參數,用來取得指令執行的狀態碼。 

範例: 

exec("/bin/ls -l"); 
exec("/bin/ls -l", $res); 
exec("/bin/ls -l", $res, $rc);

相關建議:

php訓練

以上是php中exec和system的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn