そこで、私は自分で小さな実験を行っています。これは、phpエラーのログファイルを(SplFileObjectを使用して)読み取り、ブラウザーでフォーマットして出力するためのスクリプトです。
私はそれを逆の順序で表示する方が論理的ですが(最新のエラーが一番上にあります)。「通常の」順序を使用するには、各行を表示して$ file-> next();を呼び出します。ポインタを移動するために、しかし私はそれを逆にやっていて、私が知る限りprev()
またはメソッドがないので、私が見つけた唯一の方法は使用することでした:previous()
seek()
for($i = $lines_total - $start_at; $i > $lines_total - $start_at - $lines_to_get; $i--){
$content->seek($i);
$data = $content->current();
if(empty($data)){
continue;
}
}
しかし、これは信じられないほど遅いです(16MBのファイルの場合は約7秒)。私が通常の順序でそれをするならば、それは即座です。
誰かが方法を知っていますか?または私がやろうとしていることはクレイジーですか?xD私はコーディングを余儀なくされたデザイナーなので、ポインターなどにはあまり詳しくありません。