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)的。 當所執(zhí)行的 Unix 命令輸出二進制數(shù)據(jù), 并且需要直接傳送到瀏覽器的時候, 需要用此函數(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)會被記錄到此參數(shù)。

返回值

成功時返回 null, 或者在失敗時返回 false。

注釋

警告

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

注意:

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

參見