Forum und email

exec

(PHP 4, PHP 5)

exec — Execute an external program

說明

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() executes the given command .

參數

command

The command that will be executed.

output

If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().

return_var

If the return_var argument is present along with the output argument, then the return status of the executed command will be written to this variable.

Return值

The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

To get the output of the executed command, be sure to set and use the output parameter.

範例

Example#1 An exec() example

<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo exec('whoami');
?>

註釋

Warning

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

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

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

Warning

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