ホームページ >バックエンド開発 >PHPチュートリアル >PHP は大きなファイルの行数を効率的にカウントします。

PHP は大きなファイルの行数を効率的にカウントします。

*文
*文オリジナル
2017-12-26 17:11:212141ブラウズ

PHP で大きなファイルの行数を効率的にカウントするにはどうすればよいですか?この記事では主に、PHP で大きなファイル内の行を超高速かつ効率的にカウントする例を紹介します。お役に立てれば幸いです。

ファイルの行数を取得するには php を使用する インターネット上で得られる答えは、通常、ファイルを一度に読み取るために file を使用するというものですが、これは大きなファイルには適していません。通常、大きなファイルの行ごとにカウントするには while ループを使用します。これは、毎回 N バイトを読み取ってから行数をカウントするのが最も効率的です。 。 過度に。

テスト状況、ファイルサイズ 3.14 GB

初回: 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とファイル関数の使用例コード

PHPファイル自体の操作

PHPファイルの配列への読み込み

以上がPHP は大きなファイルの行数を効率的にカウントします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。