- 相關(guān)推薦
php外部執行命令函數
本文實(shí)例講述了php外部執行命令函數用法。分享給大家供大家參考,具體如下:
首先先要自我檢討一下的,學(xué)習和使用php已經(jīng)前前后后一年多了,研究和使用Linux系統也差不多一年了,我居然不知道php這種解釋型語(yǔ)言可以直接調用操作命令去操縱系統。
先總結下Linux的操作,常用的cd、cp、mv、rm之類(lèi)的就不提了,值得總結的第一點(diǎn)是普通用戶(hù)在提取root權限的時(shí)候需要在命令前加上sudo,然后在vi編輯器中輸出行號的命令是 :set nu。
php的內置函數exec,system都可以調用系統命令(shell命令),但是,要想使用這二個(gè)函數php.ini中的安全模式必須關(guān)閉,要不然為了安全起見(jiàn)php是不讓調用系統命令的。
先看一下php手冊對這二個(gè)函數的解釋:
1. exec --- 執行外部程式
語(yǔ)法 : string exec ( string command [, array &output [, int &return_var]] )
說(shuō)明 :
exec( )執行給予的命令command,不過(guò)它并不會(huì )輸出任何東西,它簡(jiǎn)單的從命令的結果中傳回最后一行,如果你需要去執行一個(gè)命令,并且從命令去取得所有資料時(shí),可以使用passthru( )這個(gè)函數。
如果有給予參數array,則指定的數組將會(huì )被命令所輸出的每一行填滿(mǎn),注意:如果數組先前已經(jīng)包含了一些元素的話(huà),exec( )將會(huì )把它附加在數組的后面,如果你不想要此函數附加元素的話(huà),你可以在傳遞此數組給exec( )之前呼叫unset( )。
2. system --- 執行外部程式并且顯示輸出
語(yǔ)法 : string system ( string command [, int &return_var] )
說(shuō)明 :
system( )執行給予的命令command,并且輸出結果。如果有給予參數return_var,則執行命令的狀態(tài)碼將會(huì )寫(xiě)到這個(gè)變量。
如果PHP是運作成伺服器模組,在輸出每一行后,system( )會(huì )試著(zhù)自動(dòng)地清除web伺服器的輸出緩沖。成功則傳回命令的最后一行,失敗則傳回false。
如果你需要去執行一個(gè)命令,并且從命令去取得所有資料時(shí),可以使用passthru( )這個(gè)函數。
這二個(gè)都是用來(lái)調用系統shell命令,
不同點(diǎn):
exec可以把執行的結果全部返回到$output函數里(數組),$status是執行的狀態(tài) 0為成功 1為失敗
systerm不需要提供$output函數,他是直接把結果返回出來(lái),同樣$return_var是執行的狀態(tài)碼 0為成功 1為失敗
exec示例:
以下為引用的內容:
system示例:
以下為引用的內容:
希望本文所述對大家PHP程序設計有所幫助。
【php外部執行命令函數】相關(guān)文章:
PHP的壓縮函數03-31
淺析php函數的實(shí)例04-01
簡(jiǎn)單介紹php構造函數用法03-15
PHP中的排序函數區別分析03-31
探討PHP函數的實(shí)現原理及性能04-01
PHP中函數的使用說(shuō)明03-30
php對圖像的各種處理函數代碼總結04-01
php字符串處理函數大全03-20
PHP url 加密解密函數代碼方法03-31