PHP によるライブ出力 Popen() と passthru() を使用すると、
PHP のshell_exec() 関数を使用してコマンドを実行し、そのコマンドをキャプチャできます。出力。ただし、コマンドの実行中に出力をライブで表示することは、shell_exec() や、system()、exec()、または passthru() などの他の組み込み関数では不可能です。
ライブ出力の場合は、popen() の使用を検討してください。 ) その代わり。プロセスへのパイプを開き、その入出力をファイルであるかのように読み書きできるようにします。
即時出力用の Passthru():
コマンドの完了を待たずに出力をユーザーに直接表示する必要がある場合は、次のように使用できます。 passthru():
echo '<pre class="brush:php;toolbar:false">'; passthru($cmd); echo '';
リアルタイム出力用の Popen():
コマンドの実行時に出力をライブで表示するには、popen() とwhile ループ:
while (@ ob_end_flush()); // end output buffers $proc = popen($cmd, 'r'); echo '<pre class="brush:php;toolbar:false">'; while (!feof($proc)) { echo fread($proc, 4096); @ flush(); } echo '';
このコードはコマンドへのパイプを開き、その出力をチャンクで読み取り、表示します
役立つ情報:
以上がPHP シェル コマンドからライブ出力を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。