URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4566
[ Назад ]

Исходное сообщение
"Перенаправление StdOut"

Отправлено Flex25 , 18-Дек-06 10:53 
Есть большой PHP-скрипт, который разработал не я. Скрипт по ходу работы через print и echo выводит информацию на стандартный вывод STDOUT.

Мне нужно сделать так, чтобы все, что печатает скрипт на выход, попадало бы в текстовою переменную, над которой я проведу некоторые действия и выведу на STDOUT.

Важно: все эти действия мне надо проводить в том же PHP-скрипте, STDOUT которого я хочу перехватить. Пайпы и т.п. мне не подходят.

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Перенаправление StdOut"
Отправлено mephius , 18-Дек-06 11:09 
>Есть большой PHP-скрипт, который разработал не я. Скрипт по ходу работы через
>print и echo выводит информацию на стандартный вывод STDOUT.
>
>Мне нужно сделать так, чтобы все, что печатает скрипт на выход, попадало
>бы в текстовою переменную, над которой я проведу некоторые действия и
>выведу на STDOUT.
>
>Важно: все эти действия мне надо проводить в том же PHP-скрипте, STDOUT
>которого я хочу перехватить. Пайпы и т.п. мне не подходят.
>
>Заранее спасибо.


проще всего здесь использовать output buffering, т.е. в начале скрипта добавляем:

<?
ob_start();
?>

в самом конце:

<?
$output=ob_get_contents();
ob_end_clean();
?>

и получаем в $output все, что скрипт вывел бы в STDOUT, при этом в STDOUT ничего не выводится.


"Перенаправление StdOut"
Отправлено Flex25 , 18-Дек-06 11:57 
Спасибо, это помогло!