0

PHPとAJAXリクエストを使用して、常に実行されているプログラムの出力を取得し、5秒間隔でWebページに出力しています。このログファイルのサイズが最大2MBになる場合があります。ユーザーがすでに完全なコンテンツを少なくとも1回取得している場合、AJAXリクエストがこのファイルのコンテンツ全体を5秒ごとにフェッチすることは私には実用的ではないようです。リクエストは、ユーザーが前のリクエストで取得していないコンテンツを取得する必要があります。

問題は、ユーザーが受け取っていないコンテンツをどこから見つけ始めればよいかわからないことです。ヒント、ヒント、または提案はありますか?

編集:プログラムからの出力は時間(HH:MM:SS AM / PM)で始まり、その後はすべてパターンがありません。ログファイルは数日にわたる場合があるため、たとえば、ファイルに「02:00:00PM」が1つだけ含まれていない場合があります。ログに記録されているプログラムを作成しなかったため、出力の出力形式を変更する方法がありません。

4

2 に答える 2

2

ヘッドリクエストを使用すると、正しい道を歩み始めることができると思います。

このスレッドを確認してください: Javascript /AjaxでのHTTPHEADリクエスト?

jqueryを使用している場合、これはajax呼び出しでの単純な型の変更です。

$ .ajax({url: "some url"、type: "HEAD" .....});

個人的には、変更されたファイルのサイズと日付を以前の応答と照合し、更新されている場合は新しいデータを取得します。ajaxを介してファイルの一部しかフェッチできないかどうかはわかりませんが、これはphpを介して非常に簡単に実行できると確信しています。おそらく、このスレッドが役立つ可能性があります。

PHPでテキストファイルの最後の5行だけを読み取る方法は?

于 2012-07-25T20:59:57.137 に答える
0

プログラムの作成方法とデータの印刷方法によって異なりますが、タイムスタンプを使用してデータ量を減らすことができます。ある種のIDがある場合は、おそらくタイムスタンプの代わりにそれらを使用する必要があります。

于 2012-07-25T20:58:05.650 に答える