Forum und email

passthru

(PHP 4, PHP 5)

passthru — Execute an external program and display raw output

說明

void passthru ( string $command [, int &$return_var ] )

The passthru() function is similar to the exec() function in that it executes a command . This function should be used in place of exec() or system() when the output from the Unix command is binary data which needs to be passed directly back to the browser. A common use for this is to execute something like the pbmplus utilities that can output an image stream directly. By setting the Content-type to image/gif and then calling a pbmplus program to output a gif, you can create PHP scripts that output images directly.

參數

command

The command that will be executed.

return_var

If the return_var argument is present, the return status of the Unix command will be placed here.

Return值

無回傳值。

註釋

Warning

如果想允許使用者輸入的資料傳入本函式,則應使用 escapeshellarg()escapeshellcmd() 函式來確保用戶不能欺騙系統從而執行任意命令。

Note: 如果用本函式啟動一個程序並希望保持在背景執行,必須確保該程序的輸出被導向到一個檔案或其它輸出流,否則 PHP 會在等待程序執行結束。

Note: 在啟用了安全模式時,只能執行在 safe_mode_exec_dir 之內的執行檔。為實用起見目前不能在執行檔的路徑中包含 .. 元素。

Warning

在啟用了安全模式時,命令字串會被 escapeshellcmd() 跳脫。所以 echo y | echo x 就成了 echo "y | echo x"