5時間の試行後、私はあなたに着きます。ファイルからのテキストのライブ更新ページ
ファイルを変更すると自動的に自分自身を更新し、ファイルの内容を表示するページを作成する必要があります。 foo.txtがあるとしましょう。それは継続的に更新しています。ページがn秒ごとにリロードされるのを嫌いです。さらに、このファイルの最後の30行だけを表示する必要があります。私はこれを思いついた:
<?php //live.php
$handle = popen("tail -30l foo.txt 2>&1", 'r');
while(!feof($handle)) {
$buffer = fgets($handle);
echo "$buffer<br/>\n";
ob_flush();
flush();
}
pclose($handle);
?>
最後の30行のファイルは正常に表示されますが、更新はできません。 - 私がこだわっているところだ私は、タスクの下に達成する方法がわからない:ファイル更新のための
- チェック、
- 表示live.phpファイルの変更。
これでAjaxの更新機能を使用できますか?
まず、更新された最後の3行をいつ表示しますか?瞬時に、またはある期間の後に? – squiroid
すぐに、すぐに。 – Bielecki
これは、ajax呼び出しによってサーバーからの変更をチェックする場合にのみ実行できます。変更があればページをアップロードするだけです。ですから、私は、現在の30行のハッシュを作成してサーバーに送信し、そのハッシュをサーバー側の現在の30行と比較することをお勧めします。変更があれば、新しい30行を送り返します。そうでなければ、false値のフラグを送信します。 そして、別の方法でサーバーからフロントエンドへのソケット接続を作成する必要がある場合は、ファイルに変更があった場合(CRON JOBを使用)、ソケットを介してフロントエンドとディスプレイに送信します。 – squiroid