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