• ベストアンサー

最後の行だけを取り出す

fopen関数でテキストファイルを開き、 テキストファイルの最後の行だけを利用する効率のいい方法はないでしょうか。 どなたか詳しい方教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAI_0824
  • ベストアンサー率54% (6/11)
回答No.2

シェルコマンドでファイルのリバースソートをして、それをfopen。最初に読んだレコードが最後の行、というのはだめでしょうか?先の回答にもありますが、ファイルサイズが絶対に小さければfile()コマンドで配列をリバースして[0]を取得するか、確か配列の最後の要素値を取得する関数(array_popで大丈夫?)があったかと思います。

samot
質問者

お礼

ご回答ありがとうございました。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

ほとんどの言語では「テキストファイル」は先頭からまとめて処理する以外の適切なハンドリング方法は用意されていません。ファイルサイズ次第ではfile()で全部読み込んでしまうなどといったこともします。 #それが負荷になるようならいっそDBに放り込む方がいいように思います。

samot
質問者

お礼

なるほど。 ご回答ありがとうございます。

関連するQ&A