system

(PHP 3, PHP 4, PHP 5)

system -- Execute an external program and display the output

說明

string system ( string command [, int &return_var] )

system() is just like the C version of the function in that it executes the given command and outputs the result.

The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.

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.

參數

command

The command that will be executed.

return_var

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

返回值

Returns the last line of the command output on success, and FALSE on failure.

範例

例子 1. system() example

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line system('ls'$retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' 
$last_line '
<hr />Return value: ' 
$retval;
?>

注解

警示

若果想容許會員輸入的資料被傳入本函數,則應使用 escapeshellarg()escapeshellcmd() 函數來確保會員不能欺騙系統從而執行任意指令。

注: 若果用本函數啟動一個程式並希望保持在後台運行,必須確保該程式的輸出被重導至一個檔案或是其它輸出流去,否則 PHP 會在程式執行結束前掛起。

注: 在開啟了安全模式時,只能執行在 safe_mode_exec_dir 之內的程式。為實用起見目前不能在指向程式的路徑中包括 .. 成分。

警示

在開啟了安全模式時,指令字串會被 escapeshellcmd() 轉義。從而 echo y | echo x 就成了 echo "y | echo x"