(PHP 4, PHP 5)
passthru — 執(zhí)行外部程序并且顯示原始輸出
說(shuō)明
void passthru ( string$command
[, int &$return_var
] )
同 exec() 函數(shù)類似,
passthru() 函數(shù)
也是用來(lái)執(zhí)行外部命令(command
)的。
當(dāng)所執(zhí)行的 Unix 命令輸出二進(jìn)制數(shù)據(jù),
并且需要直接傳送到瀏覽器的時(shí)候,
需要用此函數(shù)來(lái)替代 exec()
或 system() 函數(shù)。
常用來(lái)執(zhí)行諸如 pbmplus 之類的可以直接輸出圖像流的命令。
通過(guò)設(shè)置 Content-type 為 image/gif,
然后調(diào)用 pbmplus 程序輸出 gif 文件,
就可以從 PHP 腳本中直接輸出圖像到瀏覽器。
參數(shù)
command
要執(zhí)行的命令。
return_var
如果提供 return_var
參數(shù),
Unix 命令的返回狀態(tài)會(huì)被記錄到此參數(shù)。
返回值
沒(méi)有返回值。
注釋
Warning當(dāng)用戶提供的數(shù)據(jù)傳入此函數(shù),使用 escapeshellarg() 或 escapeshellcmd() 來(lái)確保用戶欺騙系統(tǒng)從而執(zhí)行任意命令。
Note:
如何程序使用此函數(shù)啟動(dòng),為了能保持在后臺(tái)運(yùn)行,此程序必須將輸出重定向到文件或其它輸出流。否則會(huì)導(dǎo)致 PHP 掛起,直至程序執(zhí)行結(jié)束。
Note: 安全模式 啟用時(shí),可僅可用 safe_mode_exec_dir 執(zhí)行文件。實(shí)際上,現(xiàn)在不允許在到可執(zhí)行的路徑中存在 .. 組件。
Warning安全模式 啟用時(shí),命令字符串會(huì)被 escapeshellcmd() 轉(zhuǎn)換。因此,echo y | echo x 會(huì)變成 echo y | echo x。
參見(jiàn)
exec() - 執(zhí)行一個(gè)外部程序 system() - 執(zhí)行外部程序,并且顯示輸出 popen() - 打開(kāi)進(jìn)程文件指針 escapeshellcmd() - shell 元字符轉(zhuǎn)義 執(zhí)行運(yùn)算符