Руководство по 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. В настоящее время, использование `..` в пути запрещено

Внимание
В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть `echo y | echo x` будет работать как `echo "y | echo x"`.

## Смотрите также

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

Пред. | Начало | След.
shell_exec | Уровень выше | PostScript document creation