php系统命令与输出和返回代码

问题描述:

我正在寻找的东西在PHP中,会给出一个系统命令的输出(原始)在一个变量与返回代码。php系统命令与输出和返回代码

  • exec这样做,但输出是在阵列并因此返回的数据是不恰当(如\n进来新索引)。
  • system输出输出流中的数据而不是变量。
  • shell_exec不给出返回值,但给出原始数据。
+2

你不能只是['implode()'](http://php.net/manual/en/function.implode.php)来自'exec()'的结果把它变成一个字符串吗? – JJJ 2012-02-02 09:14:29

+0

嘿,工作......因为这个愚蠢的事情很长一段时间卡住....非常感谢 – 2012-02-02 10:04:24

听起来像你要找的输出缓冲:

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

这应该在每个输出线的末端保留所有空白字符(如exec你写的这些破坏,所以implode不会是一个选项)。或者,您可以打开一个进程并获取管道(标准输出,STDOUT)并从这些管道读取输出。但它更复杂(但给你更多选择)。见proc_open