php如何高效的讀取大檔案

2021-08-29 02:18:18 字數 566 閱讀 4096

通常來說在php讀取大檔案的時候,我們採用的方法一般是一行行來讀取,而不是一次性把檔案全部寫入記憶體中,這樣會導致php程式卡死,下面就給大家介紹這樣乙個例子。

需求:有乙個800m的日誌檔案,大約有500多萬行, 用php返回最後幾行的內容。

實現方法:

<?php

/** * 取檔案最後$n行

* @param string $filename

* @param int $n 最後幾行

* @return mixed false

*/function readlastlines($filename, $n)

$pos = -2;

$eof = "";

$str = "";

while($n > 0)else

}$str = fgets($fp).$str;

$eof = "";

$n--;

}return $str;

}echo nl2br(readlastlines('log.txt', 4));

?>

php 讀取大檔案

在php中,對於檔案的讀取時,最快捷的方式莫過於使用一些諸如file file get contents之類的函式,簡簡單單的幾行 就能 很漂亮的完成我們所需要的功能。但當所操作的檔案是乙個比較大的檔案時,這些函式可能就顯的力不從心,下面將從乙個需求入手來說明對於讀取大檔案時,常用的操作方法。需求需...

php讀取大檔案

本文章來給各位同學介紹php中讀取大檔案實現方法詳解吧,有需要了解的同學可進入參考參考。需求如下 現有乙個1g左右的日誌檔案,大約有500多萬行,用php返回最後幾行的內容。實現方法 直接採用file函式來操作 注 由於 file函式是一次性將所有內容讀入記憶體,而php為了防止一些寫的比較糟糕的程...

PHP如何快速讀取大檔案

在php中,對於檔案的讀取時,最快捷的方式莫過於使用一些諸如file file get contents之類的函式,簡簡單單的幾行 就能 很漂亮的完成我們所需要的功能。但當所操作的檔案是乙個比較大的檔案時,這些函式可能就顯的力不從心,下面將從乙個需求入手來說明對於讀取大檔案時,常用的操作方法。需求需...