passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthru執(zhí)行外部程序并且顯示原始輸出

說明

passthru(string $command, int &$result_code = null): ?bool

exec() 函數(shù)類似, passthru() 函數(shù) 也是用來執(zhí)行外部命令(command)的。 當(dāng)所執(zhí)行的 Unix 命令輸出二進(jìn)制數(shù)據(jù), 并且需要直接傳送到瀏覽器的時(shí)候, 需要用此函數(shù)來替代 exec()system() 函數(shù)。 常用來執(zhí)行諸如 pbmplus 之類的可以直接輸出圖像流的命令。 通過設(shè)置 Content-type 為 image/gif, 然后調(diào)用 pbmplus 程序輸出 gif 文件, 就可以從 PHP 腳本中直接輸出圖像到瀏覽器。

參數(shù)

command

要執(zhí)行的命令。

result_code

如果提供 result_code 參數(shù), Unix 命令的返回狀態(tài)會(huì)被記錄到此參數(shù)。

返回值

成功時(shí)返回 null, 或者在失敗時(shí)返回 false

注釋

警告

當(dāng)傳入用戶提供的數(shù)據(jù)到本函數(shù)時(shí),應(yīng)使用 escapeshellarg()escapeshellcmd() 來防止用戶欺騙系統(tǒng)執(zhí)行任意命令。

注意:

如何程序使用此函數(shù)啟動(dòng),為了能保持在后臺運(yùn)行,此程序必須將輸出重定向到文件或其它輸出流。否則會(huì)導(dǎo)致 PHP 掛起,直至程序執(zhí)行結(jié)束。

參見