1

100.000行のtxtファイルがあり、その大部分をDBに挿入するには、それを読み取る必要があります。このプラグインは非常に使いやすいので、使用したいと思います。

http://www.bram.us/projects/js_bramus/jsprogressbarhandler/#download

私の問題は次のとおりです。PHPでtxtファイルを読みましたが、プログレスバーを更新する方法がわかりません。こんなことを考えていた

echo '$("#progressbar").progressbar({ value: '.($k++).' });';

どこ$kが0から100になりますが、どこに置く必要がありますか?

4

3 に答える 3

1

私はこの方法を見つけました:

http://spidgorny.blogspot.it/2012/02/progress-bar-for-lengthy-php-process.html

これは、コードの編集に役立つと思います。

于 2012-05-02T09:35:00.590 に答える
0

このことを達成するための直接的な方法はありません。PHPスクリプトが最初に実行され、次に出力がWebページを表示しているクライアントに送信されます。そのため、PHPスクリプトの処理のライブステータスをクライアントに表示することはできません。

AJAXとデータベースの組み合わせを使用する必要があります:

テキストファイルの読み込みの進行状況を追跡するためのテーブルを作成します。ユーザー(クライアント)がページにリクエストを送信するたびに、進行状況に応じてテーブルを更新し続けます。クライアントごとの進行状況を簡単に追跡できるように、テーブルのインデックスとしてセッションIDを使用します。次に、AJAXリクエストを使用してテーブルから進行状況を取得し、進行状況バーを使用してクライアントに提示します。

于 2012-04-20T08:13:11.137 に答える
0

phpとjavascriptを混在させることはできません。

  1. PHPが実行され、HTML/JSファイルが生成されます
  2. HTML/JSファイルがクライアントに送信されます
  3. クライアントはJSを実行します。$("#progressbar").progressbar({ value: XX });

したがってk、静的になります。

-

このようなことを本当に簡単に実行したい場合は、txt_file、position、lengthの3つの列を持つ中間DBテーブルを使用できます。また、PHPスクリプトがtxtファイルに対して実行されている間に、このテーブルを更新することもよくあります。

クライアント側では、Javascriptで、たとえば5秒または10秒ごとにjQueryを使用してajaxリクエストを行うことができます。これにより、他のPHPページが呼び出され、このPHPページは中間テーブルから対応する行のみを返します。結果が得られたら、プログレスバーを更新できます。

-

これは実装するのに最も簡単なソリューションですが、それでも本当に汚いので、txtファイルの解析は本当に長くする必要があります。

于 2012-04-20T08:07:37.423 に答える