2016-08-13 10 views
0

私のサーバーにファイルをミラーリングするために、この小さなPHPコードを使用しています。ブラウザでcURLの進行状況バーを表示する方法(PHP exec()関数を使用)

<?php 
$cmd= "curl -L -O http://www.dropbox.com/s/8lu0nutt4tgpkku/jbtools.ipa"; 
exec($cmd); 
?> 

ただし、ミラーリングプロセスが終了するまでブラウザはフリーズしています。私の質問は、私がターミナルでこのコマンドを実行するときのように進捗バーを表示する方法です。このような何か:

% Total % Received % Xferd Average Speed Time Time  Time Current 
          Dload Upload Total Spent Left Speed 

私は、次のような多くのフラグを試してみました:

-v --verbose -I -include --trace - 

をそれらのどれも働きました。私もhereにPHPのCURLコードに変換する質問をしましたが、誰もそれを手伝ってくれませんでした!

他のコマンドでも同じことをすることをお勧めします。

+0

コンテンツをロードする前にob_flush()を使用してブラウザにデータを送信するか、ステータスをセッションに書き込んで別のページにアクセスすることができます。実際のPHPカール関数については、php.netを参照してください。あなたのコードは、より多くの回避策であり、PHPで作業したい場合にはうまくいきません。 –

+0

私はcURLを試しましたが、ある時点で立ち往生しましたが、誰も助けてくれませんでした! あなたはルックを持つことができますか? http://stackoverflow.com/questions/38427001/how-can-i-convert-this-curl-command-to-php – PersianHero

+0

コードは正常です。私はadcdownload.comを見つけることができません。 –

答えて

0

最も簡単な方法はポーリングです。 スクリプトをバックグラウンドで実行し、フロントエンド(js)がポーリングできる出力を(ファイルに)指示します。

例とバックグラウンドで実行します。 シェルの進展を示すhttps://felixmilea.com/2014/12/running-bash-commands-background-properly/

は、PVに配管を行うことができます。 http://linux.die.net/man/1/pv

WebSocketをでこれをしようと考えてみましょう。 http://reactphp.org/ - ラチェットプロジェクトを見て。 これは、実行したいものをリアルタイムで出力します。

関連する問題