passthru - выполняет внешнюю программу и выводит сырой вывод.
Описание
void passthru (string command [, int return_var])
Функция passthru() похожа на функцию exec() тем, что выполняет команду
command. Если имеется аргумент return_var, то здесь будет помещён return-статус Unix-команды. Эта функция
должна использоваться вместо exec() или system(), если вывод Unix-команды является бинарными данными, которые должны
передаваться непосредственно обратно в браузер. Её обычное использование - выполнение чего-нибудь вроде
pbmplus-утилит, которые могут давать непосредственный вывод потока изображения. Установив в Content-type значение
image/gif и вызвав затем pbmplus-программу для вывода gif, вы можете создать PHP-скрипт, выводящий изображения напрямую.
Предупреждение!
Если вы разрешаете прямую передачу данных из пользовательского ввода в
эту функцию, то затем вы должны использовать escapeshellarg()
или escapeshellcmd(), чтобы проверить, не пытается ли пользователь проделать какой-нибудь трюк с
вашей системой, вводя произвольные команды.
Примечание:
если вы начинаете программу с использования этой функции и хотите оставить её работать в фоновом режиме, вам необходимо убедиться, что вывод этой
программы перенаправляется в файл или в некоторый другой поток вывода, иначе PHP
зависнет до тех пор, пока не закончится выполнение этой программы.