[PHP-users 34879] ファイルの逆読みの方法に関して
岸本 弥生
yayoi @ back-in-time.jp
2009年 12月 16日 (水) 01:04:06 JST
はじめまして、岸本と申します。宜しくお願いします。
現在下記の現象で困っています、助言いたたければ幸いです。
開発を担当しているシステムでアプリケーションログを出力しています。
そのログファイルを表示するWEBアプリを作成しているのですが、ログファイルの
容量が大き過ぎてphpがメモリオーバで終了してしまいます。
エラー内容:
Allowed memory size of 134217728 bytes exhausted
そこで、最新から遡って1000行まで表示する様に変更したいのですが、どうしても
ファイル全体を一旦読み込まないとならずにエラーを回避できません。
できればファイルを逆読みして1000行目で読み込みを中断して表示させたいのですが
苦心しています。
ちなみに下記が現行のコードです。(一行目のfile関数でアウトです)
$_log = file("/hogehoge/Apllog.log");
$log = array_splice($_log, 1, count($_log)-1000);
ログファイルはlogrotateで肥大化しない様に工夫してあります。
極力memory_limitの値は変更せずに対応したいのですが、、
ヒントでも構いませんので宜しくお願いします。
以上
PHP-users メーリングリストの案内