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 中国語 Web サイトの他の関連記事を参照してください。