2012-02-02 9 views
0

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

  • execこれを行いますが、出力は配列であり、したがって、データが返される(\nが新しい指標にしていたように)適切ではありません。
  • systemは、変数ではなく出力ストリームにデータを出力します。
  • shell_exec戻り値は与えず、生データを返します。
+2

'exec()'の結果を文字列に変換することはできません(http://php.net/manual/en/function.implode.php)。 – JJJ

+0

こんにちは、働いていた...この馬鹿なことのために長い時間のために立ち往生していた....ありがとう –

答えて

2

あなたは、出力バッファリングを探しているような音:

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

これは、あなたが書いたように、各出力ライン(execの終わりに、すべての空白文字を保存すべきは、これらを破壊し、そうimplodeはないだろうオプションとなります)。

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

関連する問題