php超快高效率統(tǒng)計大文件行數(shù)
用php獲取文件行數(shù),網(wǎng)上給出的答案通常是使用file這樣一次性讀取,這樣不適用在大文件。通常大文件大家用while來循環(huán)的逐行統(tǒng)計,這樣的效率太慢
最快的方法是多行統(tǒng)計,每次讀取N個字節(jié),然后再統(tǒng)計行數(shù),這樣比逐行效率高多了。
測試情況,文件大小 3.14 GB
第1次:line: 13214810 , time:56.2779 s;
第2次:line: 13214810 , time:49.6678 s;
/* * 高效率計算文件行數(shù) * @author axiang */ function count_line($file){ $fp=fopen($file, "r"); $i=0; while(!feof($fp)) { //每次讀取2M if($data=fread($fp,1024*1024*2)){ //計算讀取到的行數(shù) $num=substr_count($data,"\n"); $i+=$num; } } fclose($fp); return $i; }
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關文章
php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
array_keys() 函數(shù)返回包含數(shù)組中所有鍵名的一個新數(shù)組。如果提供了第二個參數(shù),則只返回鍵值為該值的鍵名2011-10-10php+mysql查詢實現(xiàn)無限下級分類樹輸出示例
這篇文章主要介紹了php+mysql查詢實現(xiàn)無限下級分類樹輸出,結(jié)合實例形式分析了php+MySQL查詢實現(xiàn)的樹狀分類輸出功能,涉及php數(shù)據(jù)庫查詢與數(shù)組遍歷等相關操作技巧,需要的朋友可以參考下2016-10-10PHP簡單實現(xiàn)合并2個數(shù)字鍵數(shù)組值的方法
這篇文章主要介紹了PHP簡單實現(xiàn)合并2個數(shù)字鍵數(shù)組值的方法,涉及php針對數(shù)組的遍歷、判斷、轉(zhuǎn)換等相關操作技巧,需要的朋友可以參考下2017-05-05PHP+jQuery實現(xiàn)滾屏無刷新動態(tài)加載數(shù)據(jù)功能詳解
這篇文章主要介紹了PHP+jQuery實現(xiàn)滾屏無刷新動態(tài)加載數(shù)據(jù)功能,涉及php動態(tài)讀取數(shù)據(jù)庫及加載數(shù)據(jù)實現(xiàn)滾屏無刷新效果的具體操作技巧,需要的朋友可以參考下2017-05-05