一般來說,在php中呼叫外部命令,可以用exec及system來實現:
system()
原型:string system (string command [, int return_var])
system()函式很其它語言中的差不多,它執行給定的命令,輸出和返回結果。第二個引數是可選的,用來得到命令執行後的狀態碼。
返回結果:
成功返回0,
失敗(命令不存在等原因) 返回 非0值
exec()
原型:string exec (string command [, string array [, i return_var]])
exec ()函式與system()類似,也執行給定的命令,但不輸出結果,而是返回結果的最後一行。雖然它只jqnrd返回命令結果的最後一行,但用第二個引數array 可以得到完整的結果,方法是把結果逐行追加程式設計客棧到array的結尾處。所以如果array不是空的,在呼叫之前最好用unset()最它清掉。只有指定了第二 個引數時,才可以用第三個引數,用來取得命令執行的狀態碼。
使用例www.cppcns.com子如下:
exec("/bin/ls -l");
exec("/bin/ls -l", $res);
exec("/bin/ls -l",程式設計客棧 $res, $rc);
本文標題: php中exec與system用法區別分析
本文位址:
exec 與system 的區別
這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。rt.c int main gcc rt.c o rt test...
exec 與system 的區別
這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。cpp view plain copy rt.c intmain...
exec 與system 的區別
這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。cpp view plain copy print?rt.c i...