2016-10-28 10 views
1

PHPでは、コマンド出力の結果をコンソールに表示するのと同じように表示したいと思います。この例を単純化するために、ifconfigを使用します。問題は、phpがすべての行を正しくディスパッチするのではなく一緒に実行することです。私はshell_exec()、passthru()、system()を使用しようとしましたが、それらはすべて同じものを表示します。複数行のコマンド出力をPHPで表示

passthru()は参考になりますが、この2つの質問を参考にしてください。ここで

PHP - exec() vs system() vs passthru()

http://www.sitepoint.com/forums/showthread.php?525977-multiline-result-in-exec

PHPのコードです:

<?php 
    $output = passthru("ifconfig"); 
    echo $output; 
?> 

これは、ブラウザに表示されているものです。 enter image description here

+2

ヘッダー( 'Content-Type:text/plain');を追加してみてください。そうしないと、ブラウザはこれをHTMLとみなします。 HTMLでは '\ r'または' \ n'は改行されません。 –

+2

これはあなたのブラウザが行うことです。空白を無視する。 try 'echo '

'. $output .'
'; ' –

+0

少し修正、ブラウザはtext/htmlとはみなされません。それは明らかにPHPのデフォルトです。 –

答えて

0

あなたはContent-Typeヘッダを使用することができますそれが来るようにパススルーからテキストを取得します。

<?php 
    header('Content-Type: text/plain'); 
    $output = passthru("ifconfig"); 
    echo $output; 
?> 
関連する問題