0

私はファイル行を読んでいます

$handle = fopen("foo.txt", "r" );
$line = fgets($handle);

スクリプトの実行ごとに1行を読みたいのですが、次の実行では、前の実行で読み取った代わりに次の行を読みたいです。

ファイルの現在のポインターを保存して、次回はファイルを最初から読み取る代わりに、ポインターのポイントされた値から開始できるようにする方法はありますか?

セッションにポインター値を保存することで実行できますが、スクリプトは複数のセッションで実行できるため、失敗します。どのユーザーセッションでも読み取ることができるポインタ値をメモリに格納するのと同じように、セッションに依存しない普遍的な方法が必要です。

4

1 に答える 1

0

最も簡単な解決策は、読み取ったバイト数をテキスト ファイル (またはデータベース) に保存し、 fseek を使用して探している位置に再配置することです。fseek の PHP マニュアルを確認すると、次のようにすばやくセットアップできるはずです。

  1. ファイルを開く
  2. ストレージファイルを開く
  3. ストレージ ファイル内の場所をシークする
  4. 新しい行を読み、
  5. 新しい位置をストレージ ファイルに書き込みます。
于 2013-09-16T16:50:25.207 に答える