Wie kann man die Anzahl der Zeilen in großen Dateien in PHP effizient zählen? In diesem Artikel werden hauptsächlich Beispiele für das ultraschnelle und effiziente Zählen von Zeilen in großen Dateien in PHP vorgestellt. Ich hoffe, es hilft allen.
Verwenden Sie PHP, um die Anzahl der Dateizeilen zu ermitteln. Die im Internet angegebene Antwort lautet normalerweise, dass Sie „file“ verwenden, um alles auf einmal zu lesen, was für große Dateien nicht geeignet ist. Normalerweise wird bei großen Dateien eine While-Schleife verwendet, um Zeile für Zeile zu zählen.
Der schnellste Weg besteht darin, mehrere Zeilen zu zählen, jedes Mal N Bytes zu lesen und dann die Anzahl der Zeilen zu zählen. Das ist schneller, als die Effizienz von Zeile zu Zeile viel höher ist.
Testsituation, Dateigröße 3,14 GB
Erstes Mal: Zeile: 13214810, Zeit:56,2779 s;
Zweites Mal: Zeile: 13214810, Zeit: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; }
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonPHP zählt effizient die Anzahl der Zeilen in großen Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!