Тип возврата системы php - PullRequest
1 голос
/ 12 мая 2011

Когда я выполняю свой пакетный файл в php, например:

<?php
  system("cmd");
?>

, я получаю вывод в браузере.Печатается все окно командной строки, например C:>wamp>www>php......output...press any key to continue.

. Я не могу придумать никакой логики, чтобы извлечь из этого свой вывод.Когда я echo system("cmd");, я получаю тот же вывод, что и выше, с повторением последней строки.Кто-нибудь может помочь мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 29 мая 2011

система отображает вывод команд, которые она выполняет, строка за строкой.

exec не отображает вывод. В exec есть опция для захвата вывода в массив, по одной записи для каждой нужной вам строки.

Они оба возвращают значение последней строки вывода, поэтому echo system('cmd') печатает последнюю строку дважды - она ​​отображает вывод, а затем печатает возвращаемое значение.

Попробуйте использовать exec.

0 голосов
/ 29 мая 2011

Если вы хотите перехватить вывод, используйте вместо этого функцию shell_exec.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...