3

私はubuntuとmktorrentを使用していますが、mktorrentコマンドからphpアプリへの出力をライブで取得することは可能ですか?だから私は急流の作成のステータスを見ることができますか?現時点では、execただそこに座って、急流の作成が完了するのを待ちます(1時間以上かかることもあります:O)。php proc openコマンドはこれに似た何かをしますか、それともスクリーンセッションのセットアップである種のクレイジーなajaxを理解する必要がありますか?

4

1 に答える 1

2

PHPはサーバー上で完全に実行され、レンダリングされたページがブラウザに送信されます。進行状況を表示して更新するには、サーバーに繰り返し要求する必要があります(または、サーバーにソケットや長いポーリングなどを介して進行状況を送信させる必要がありますが、考え方は同じです)。

サーバーがコマンドから進行状況の更新を発行する方法と、サーバーと通信してそれらの更新を取得するためのある種のJS(AJAX)が必要になります。

mktorrentコマンドの出力をファイルに進行させることができる場合は、ページの読み込み時にphpにファイルを読み取らせ、ユーザーにエコーさせることができます。単純なメタリフレッシュタグを使用して、数秒後に進行状況ページをリフレッシュできます。

PHPにシェルコマンドを非同期で実行させる方法については、PHPの非同期shell execを参照してください。これにより、PHPスクリプトが終了するのを待つ必要がなくなり、タスクが完了するまでページがハングします。

于 2012-12-01T07:25:56.577 に答える