php如何高效統計大檔案行數?本文主要分享了php超快高效率統計大檔案行數的實例。希望對大家有幫助。
用php取得檔案行數,網路上給的答案通常是使用file這樣一次讀取,這樣就不適用在大檔案。通常大檔案大家用while來循環的逐行統計,這樣的效率太慢
#最快的方法是多行統計,每次讀取N個字節,然後再統計行數,這樣比逐行效率高多了。
測試狀況,檔案大小3.14 GB
##第1次:line: 13214810 , time:56.2779 s;第2次:line: 13214810 , time:49.6678 s;
/* * 高效率计算文件行数 * @author axiang */ function count_line($file){ $fp=fopen($file, "r"); $i=0; while(!feof($fp)) { //每次读取2M if($data=fread($fp,1024*1024*2)){ //计算读取到的行数 $num=substr_count($data,"\n"); $i+=$num; } } fclose($fp); return $i; }
相關推薦:
PHP 檔案讀取fread、fgets、fgetc、file_get_contents 與file 函數的使用實例程式碼
以上是php高效統計大文件行數的詳細內容。更多資訊請關注PHP中文網其他相關文章!