passthru - Выполняет внешнюю программу и отображает необработанный вывод
Вернуться к: Функции запуска программ
passthru
(PHP 4, PHP 5, PHP 7)
passthru — Выполняет внешнюю программу и отображает необработанный вывод
Описание
$command
[, int &$return_var
] )
Функция passthru() похожа на функцию
exec() в том, что она выполняет команду
command
. Эта функция должна быть
использована вместо функции exec() или
system() когда вывод команды Unix
является двоичными данными, которые необходимо передать непосредственно в
браузер. Стандартное использование этой функции - выполнить команду, такую, как
утилиты pbmplus, которые выводят непосредственно поток изображения. Установив
Content-type в image/gif и
затем вызвав программу pbmplus для вывода gif-рисунка, вы можете создать
PHP-скрипты, которые выводят изображения непосредственно в браузер.
Список параметров
-
command
-
Команда, которая будет выполнена.
-
return_var
-
Если присутствует аргумент
return_var
, то код возврата Unix-команды будет помещён здесь.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Примечания
Если вы собираетесь передавать функции пользовательские данные, используйте функции escapeshellarg() или escapeshellcmd() для того, чтобы пользователи не смогли обмануть систему, запустив произвольную команду.
Замечание:
Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.
Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время по практическим причинам запрещено использование .. в качестве компонента пути к исполняемому файлу.
В случае работы в безопасном режиме, строка с командой экранируется с помощью escapeshellcmd(). Таким образом echo y | echo x становится echo y \| echo x.
Смотрите также
- exec() - Исполняет внешнюю программу
- system() - Выполняет внешнюю программу и отображает её вывод
- popen() - Открывает файловый указатель процесса
- escapeshellcmd() - Экранирует метасимволы командной строки
- оператор "обратный апостроф"
Вернуться к: Функции запуска программ