system

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

system(string $command, int &$result_code = null): string|false

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

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

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

Список параметров

command

Команда, которую выполнит функция.

result_code

Если передан аргумент result_code, то в эту переменную будет записан код возврата выполненной команды.

Возвращаемые значения

Функция возвращает последнюю строку вывода команды в случае успешного выполнения, иначе false.

Примеры

Пример #1 Пример использования функции system()

<?php

echo '<pre>';

// Функция выводит полный результат команды ls и возвращает
// последнюю строку вывода в переменной $last_line. Функция сохраняет код возврата
// команды в переменной $retval
$last_line = system('ls', $retval);

// Выводим дополнительную информацию
echo '
</pre>
<hr />Последняя строка вывода: '
. $last_line . '
<hr />Код возврата: '
. $retval;

?>

Примечания

Внимание

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

Замечание:

Если нужно вызвать эту функцию в программе, работающей в качестве демона, проверяют, что стандартный вывод функции направлен в файл или другой поток, иначе PHP зависнет вплоть до конца выполнения программы.

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

  • exec() - Выполняет внешнюю программу
  • passthru() - Выполняет внешнюю программу и отображает необработанный вывод
  • popen() - Открывает файловый указатель процесса
  • escapeshellcmd() - Экранирует метасимволы командной строки
  • pcntl_exec() - Выполняет указанную программу в пространстве текущего процесса
  • Оператор исполнения