首頁  >  文章  >  後端開發  >  php高效統計大文件行數

php高效統計大文件行數

*文
*文原創
2017-12-26 17:11:212033瀏覽

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 檔案讀入到數組

以上是php高效統計大文件行數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP之詳解PDO下一篇:PHP之詳解PDO