Наша группа в телеграмм для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

system

(PHP 3, PHP 4, PHP 5)

system - выполняет внешнюю программу и отображает вывод.

Описание

string system (string command [, int return_var])

system() похожа на C-версию этой же функции тем, что выполняет данную команду command и выводит результат. Если предоставлена переменная в качестве второго параметра, то возвращается статус-код выполненной команды, записанный в эту переменную.

Предупреждение!

Если вы разрешаете передачу данных из пользовательского ввода в эту функцию, то вы должны использовать escapeshellarg() или escapeshellcmd(), чтобы гарантировать, что пользователь не выкинет какой-нибудь трюк с системой путём выполнения произвольных команд.

Примечание: если вы начинаете программу с использования этой функции и хотите оставить её работать в фоновом режиме, вы должны гарантировать, что вывод этой программы будет перенаправлен в файл или какой-нибудь другой поток вывода, иначе PHP зависнет, пока не закончится выполнение программы.

Вызов system() пытается также автоматически очистить буфер вывода web-сервера после каждой строчки вывода, если PHP работает как серверный модуль.

Возвращает последнюю строку командного вывода при успехе, FALSE при неудаче.

Если вам нужно выполнить команду и передать все данные из команды непосредственно обратно без интерференции, используйте passthru().

Примеры

Пример 1. system()
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.

Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание: