0

システムコマンドの出力(生)を変数に返し、リターンコードを与えるPHPで何かを探しています。

  • execこれを行いますが、出力は配列であるため、返されるデータは適切ではありません (\n新しいインデックスに含まれているため)。
  • system変数ではなく出力ストリームにデータを出力します。
  • shell_exec戻り値は返されませんが、生データが返されます。
4

1 に答える 1

3

出力バッファリングを探しているようです:

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

これにより、各出力行の最後にすべての空白文字が保持されるはずです(execあなたが書いたように、これらは破棄されるためimplode、オプションではありません)。

または、プロセスを開いてパイプ (標準出力、STDOUT) を取得し、これらから出力を読み取ることができます。しかし、それはより複雑です (ただし、より多くのオプションが提供されます)。を参照してくださいproc_open

于 2012-02-02T09:32:43.740 に答える