(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — 執行外部程序并且顯示原始輸出
$command
, int &$result_code
= null
): ?bool
同 exec() 函數類(lèi)似,
passthru() 函數
也是用來(lái)執行外部命令(command
)的。
當所執行的 Unix 命令輸出二進(jìn)制數據,
并且需要直接傳送到瀏覽器的時(shí)候,
需要用此函數來(lái)替代 exec()
或 system() 函數。
常用來(lái)執行諸如 pbmplus 之類(lèi)的可以直接輸出圖像流的命令。
通過(guò)設置 Content-type 為 image/gif
,
然后調用 pbmplus 程序輸出 gif 文件,
就可以從 PHP 腳本中直接輸出圖像到瀏覽器。
command
要執行的命令。
result_code
如果提供 result_code
參數,
Unix 命令的返回狀態(tài)會(huì )被記錄到此參數。
成功時(shí)返回 null
, 或者在失敗時(shí)返回 false
。
當傳入用戶(hù)提供的數據到本函數時(shí),應使用 escapeshellarg() 或 escapeshellcmd() 來(lái)防止用戶(hù)欺騙系統執行任意命令。
注意:
如何程序使用此函數啟動(dòng),為了能保持在后臺運行,此程序必須將輸出重定向到文件或其它輸出流。否則會(huì )導致 PHP 掛起,直至程序執行結束。