Exec函數(shù)
Exec函數(shù)的語法為:
exec ( string $command [, array &$output [, int &$return_var ]] )
=
exec('ping 127.0.0.1',$output,$return_var)
這個函數(shù)的作用是執(zhí)行?command?參數(shù)所指定的命令掂摔。命令執(zhí)行后的值為輸出值的最后一行地淀,函數(shù)本身不會打印任何內(nèi)容。
String牵祟、array和int是參數(shù)的數(shù)據(jù)類型徽诲,分別是字符串、數(shù)組和整型。
中括號的意思是如果前一個參數(shù)存在肋殴,那么中括號中的參數(shù)可寫可不寫。例如:如果存在$command參數(shù)拣帽,則$output參數(shù)可有可無疼电;如果不存在$output參數(shù),則$return_var也不能出現(xiàn)减拭。
Command:要執(zhí)行的命令蔽豺。
Output:如果提供了output?參數(shù),?那么會用命令執(zhí)行的輸出填充此數(shù)組拧粪,?每行輸出填充數(shù)組中的一個元素修陡。數(shù)組中的數(shù)據(jù)不包含行尾的空白字符,例如?\n?字符可霎。?請注意魄鸦,如果數(shù)組中已經(jīng)包含了部分元素,exec()?函數(shù)會在數(shù)組末尾追加內(nèi)容癣朗。如果你不想在數(shù)組末尾進(jìn)行追加拾因,?請在傳入?exec()?函數(shù)之前?對數(shù)組使用?unset()?函數(shù)進(jìn)行重置。
return_var:如果同時提供output?和return_var?參數(shù),?命令執(zhí)行后的返回狀態(tài)會被寫入到此變量绢记。如果命令成功執(zhí)行扁达,則狀態(tài)碼為0;如果命令執(zhí)行失敗蠢熄,則狀態(tài)碼為1跪解。
System函數(shù)
System函數(shù)的語法是:
system ( string $command [, int &$return_var ] )
=
system('ping -c 127.0.0.1',$return_var)
同?C?版本的?system()?函數(shù)一樣,?本函數(shù)執(zhí)行?command?參數(shù)所指定的命令签孔,?并且輸出執(zhí)行結(jié)果叉讥。命令執(zhí)行后的返回值為輸出值的最后一行,函數(shù)本身也會打印全部的輸出值饥追。
String和int是參數(shù)的數(shù)據(jù)類型图仓,分別是字符串和整型。
如果?PHP?運(yùn)行在服務(wù)器模塊中判耕,?system()?函數(shù)還會嘗試在每行輸出完畢之后透绩,?自動刷新?web?服務(wù)器的輸出緩存。
Command:要執(zhí)行的命令壁熄。
return_var:如果提供?return_var?參數(shù)帚豪,?則外部命令執(zhí)行后的返回狀態(tài)將會被設(shè)置到此變量中。如果命令成功執(zhí)行草丧,則狀態(tài)碼為0狸臣;如果命令執(zhí)行失敗,則狀態(tài)碼為1昌执。
Passthru函數(shù)
Passthru函數(shù)的語法為:
passthru ( string $command [, int &$return_var ] )
=
passthru('ping 12.0.0.1',$return_var)
String和int是參數(shù)的數(shù)據(jù)類型烛亦,分別是字符串和整型。函數(shù)本身會打印全部的輸出值懂拾,但該函數(shù)沒有返回值煤禽。
同?exec()?函數(shù)類似,?passthru()?函數(shù)也是用來執(zhí)行外部命令command的岖赋。?當(dāng)所執(zhí)行的?系統(tǒng)命令輸出二進(jìn)制數(shù)據(jù)檬果,?并且需要直接傳送到瀏覽器的時候,?需要用此函數(shù)來替代?exec()?或?system()?函數(shù)唐断。
Command:要執(zhí)行的命令选脊。
return_var:如果提供?return_var?參數(shù),?Unix?命令的返回狀態(tài)會被記錄到此參數(shù)脸甘。
Shell_exec函數(shù)
Shell_exec函數(shù)的語法為:
$output=shell_exec ( string $cmd )
=
$output=shell_exec(`ping 127.0.0.1`)
=
$output=shell_exec("ping 127.0.0.1")
cmd是要執(zhí)行的命令恳啥。
String是參數(shù)的數(shù)據(jù)類型,也就是字符串丹诀。函數(shù)會在命令執(zhí)行完成后將全部的輸出值作為字符串輸入返回值钝的,本身并不打印任何信息翁垂。
Shell_exec函數(shù)的用法同反引號形同,注意是反引號(``)而不是普通單引號(’’)硝桩。