У меня есть два файла php. Давайте назовем их a.php
а также b.php
,
Когда пользователь посещает a.php
, Я использую exec()
выполнить b.php
а также b.php
генерирует вывод.
Мой вопрос: как я могу отобразить этот вывод на a.php
или в другой файл, когда процесс завершен в b.php
?
Вот мой код:
exec("C:\wamp\bin\php\php5.5.12\php.exe C:\wamp\www\b.php 2>otst.txt");
Используйте одну из тезисов 2 PHP-функции:
пройти — Выполнить внешнюю программу и отобразить необработанный вывод
система— Выполнить внешнюю программу и отобразить вывод
Пример с Системой:
<?php
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;
?>
(Источник http://php.net/manual/en/function.system.php )
Если вам не нужно ничего особенного, вы можете использовать кавычка (`
) оператор вместо exec()
:
$output = `php b.php`;
Обратите внимание, что галочки соответствуют вызову shell_exec, см этот вопрос для обсуждения на exec vs shell_exec.