通常來說在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之類的函式,簡簡單單的幾行 就能 很漂亮的完成我們所需要的功能。但當所操作的檔案是乙個比較大的檔案時,這些函式可能就顯的力不從心,下面將從乙個需求入手來說明對於讀取大檔案時,常用的操作方法。需求需...