PHP 手册
上一页 |  | 下一页

# 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"`。

## 参见

exec()
passthru()
popen()
escapeshellcmd()
pcntl_exec()
backtick operator

上一页 | 起始页 | 下一页
shell_exec | 上一级 | PostScript document creation