带有输出和返回代码的php系统命令

时间:2012-02-02 09:12:40

标签: php shell-exec

我正在寻找一些能够在变量中输出系统命令的输出(原始)以及返回代码的东西。

  • exec执行此操作,但输出在数组中,因此返回的数据不正确(因为\n出现在新索引中)。
  • system输出输出流中的数据,而不是变量。
  • shell_exec不提供返回值,但会提供原始数据。

1 个答案:

答案 0 :(得分:2)

听起来你正在寻找输出缓冲:

ob_start();
system($command, $returnCode);
$output = ob_get_clean();

这应该保留每个输出行末尾的所有空格字符(exec,因为你写的会破坏这些字符,所以implode不是一个选项。

或者,您可以打开一个进程并获取管道(标准输出,STDOUT)并从中读取输出。但它更复杂(但为您提供更多选择)。请参阅proc_open