passthru
(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — 執行外部程式並且顯示原始輸出
說明
passthru(string
$command
, int &$result_code
= null
): ?bool
同 exec() 函式類似,
passthru() 函式
也是用來執行外部命令(command
)的。
當所執行的 Unix 命令輸出二進制數據,
並且需要直接傳送到瀏覽器的時候,
需要用此函式來替代 exec()
或 system() 函式。
常用來執行諸如 pbmplus 之類的可以直接輸出影象流的命令。
通過設定 Content-type 為 image/gif
,
然後呼叫 pbmplus 程式輸出 gif 檔案,
就可以從 PHP 指令碼中直接輸出影象到瀏覽器。
參數
-
command
-
要執行的命令。
-
result_code
-
如果提供
result_code
參數, Unix 命令的返回狀態會被記錄到此參數。
返回值
成功時返回 null
, 或者在失敗時返回 false
。
註釋
警告
當傳入使用者提供的數據到本函式時,應使用 escapeshellarg() 或 escapeshellcmd() 來防止使用者欺騙系統執行任意命令。
注意:
如何程式使用此函式啟動,爲了能保持在後臺執行,此程式必須將輸出重定向到檔案或其它輸出流。否則會導致 PHP 掛起,直至程式執行結束。
參見
- exec() - 執行一個外部程式
- system() - 執行外部程式,並且顯示輸出
- popen() - 打開程序檔案指針
- escapeshellcmd() - shell 元字元轉義
- 執行運算子