發新話題

[分享] 《PHP》『程式執行函式庫』

《PHP》『程式執行函式庫』

《PHP》『程式執行函式庫』escapeshellcmd --- 逃脫特殊字元

escapeshellcmd ---  逃脫特殊字元

語法 : string escapeshellcmd (string command)

說明 :

escapeshellcmd( )逃脫字串中任何可能用來哄騙(trick)shell命令的字串,此函式用來確定資料傳送到exec( )或system( )之前,由使用者輸入的任何資料已經逃脫,標準的用法如下 :

Example :

<?php

   system(EscapeShellCmd($cmd));

?>

參考 : exec( )  popen( )  system( )



[ 本帖最後由 蔡逸竹 於 2006-9-24 01:07 編輯 ]

TOP

《PHP》『程式執行函式庫』exec --- 執行外部程式

exec ---  執行外部程式

語法 : string exec (string command [, string array [, int return_var]])

說明 :

exec( )執行給予的命令command,不過它並不會輸出任何東西,它簡單的從命令的結果中傳回最後一行,如果你需要去執行一個命令,並且從命令去取得所有資料時,可以使用passthru( )這個函式。

如果有給予參數array,則指定的陣列將會被命令所輸出的每一行填滿,注意 : 如果陣列先前已經包含了一些元素的話,exec( )將會把它附加在陣列的後面,如果你不想要此函式附加元素的話,你可以在傳遞此陣列給exec( )之前呼叫unset( )。

如果有給予參數array和return_var,則傳回執行的狀態命令將會寫到這個變數。

注意 : 如果你允許來自使用者輸入的資料,可以傳遞到此函式,那麼你應該使用escapeshellcmd( )來確定此使用者無法哄騙(trick)系統來執行武斷的(arbitrary)命令。

注意 : 如果你使用此函式來啟動一個程式,而且希望在背景裡(background)執行的時候離開它,你必須確定此程式的輸出是轉向(redirected)到一個檔案或是一些輸出的資料流,否則PHP將會懸掛(hang)直到程式執行結束。

參考 : system( )  passthru( )  popen( )  escapeshellcmd( )

TOP

《PHP》『程式執行函式庫』passthru 執行外部程式並顯示未加工的(raw)輸出

passthru ---  執行外部程式並且顯示未加工的(raw)輸出

語法 : void passthru (string command [, int return_var])

說明 :

passthru( )類似於exec( ),如果有給予參數return_var,則傳回的Unix命令的狀態將會放在這裡。從Unix命令輸出的是二進制資料,這些資料需要直接地傳送到瀏灠器時,可用此函式來代替exec( )或system( )。用來執行像是pbmplus效用的指令,可以直接地輸出圖形資料流,設定content-type為image/gif,然後呼叫pbmplus程式來輸出一個gif,你可以建立PHP程式直接地輸出圖形。

注意 : 如果你使用此函式來啟動一個程式,而且希望在背景裡(background)執行的時候離開它,你必須確定此程式的輸出是轉向(redirected)到一個檔案或是一些輸出的資料流,否則PHP將會懸掛(hang)直到程式執行結束。

參考 : exec( )  system( )  popen( )  escapeshellcmd( )

TOP

《PHP》『程式執行函式庫』system --- 執行外部程式並且顯示輸出

system ---  執行外部程式並且顯示輸出

語法 : string system (string command [, int return_var])

說明 :

system( )執行給予的命令command,並且輸出結果。如果有給予參數return_var,則執行命令的狀態碼將會寫到這個變數。

注意 : 如果你允許來自使用者輸入的資料,可以傳遞到此函式,那麼你應該使用escapeshellcmd( )來確定此使用者無法哄騙(trick)系統來執行武斷的(arbitrary)命令。

注意 : 如果你使用此函式來啟動一個程式,而且希望在背景裡(background)執行的時候離開它,你必須確定此程式的輸出是轉向(redirected)到一個檔案或是一些輸出的資料流,否則PHP將會懸掛(hang)直到程式執行結束。

如果PHP是運作成伺服器模組,在輸出每一行後,system( )會試著自動地清除web伺服器的輸出緩衝。

成功則傳回命令的最後一行,失敗則傳回false。

如果你需要去執行一個命令,並且從命令去取得所有資料時,可以使用passthru( )這個函式。

參考 : exec( )  passthru( )  popen( )  escapeshellcmd( )

TOP

看了好累囉學了不少.....謝謝大大的分享憂....

TOP

找不到完整的範例orz..。慢慢摸索。

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。