Heim > Backend-Entwicklung > PHP-Tutorial > Wie können Sie Zeilen in Gigabytes an Textdaten effizient zählen?

Wie können Sie Zeilen in Gigabytes an Textdaten effizient zählen?

Linda Hamilton
Freigeben: 2024-11-01 14:43:02
Original
306 Leute haben es durchsucht

How Can You Efficiently Count Lines in Gigabytes of Text Data?

Optimieren der Zeilenzählung in großen Textdateien (mehrere GB)

Bei Textdateien mit mehr als 200 MB kann es vorkommen, dass Zeilen mit count(file($path)) gezählt werden Speicherbeschränkungen. Hier ist eine effizientere Lösung:

<code class="php">$file = "largefile.txt";
$linecount = 0;

$handle = fopen($file, "r");

while (!feof($handle)) {
  fgets($handle);
  $linecount++;
}

fclose($handle);

echo $linecount;</code>
Nach dem Login kopieren

Dieser Ansatz lädt jeweils eine einzelne Zeile in den Speicher, sodass nicht die gesamte Datei im Speicher gespeichert werden muss.

Wenn Ihre Dateien möglicherweise extrem viel enthalten Bei langen Zeilen können Sie stattdessen diese alternative Methode zum Zählen von Zeilenumbrüchen verwenden:

<code class="php">$linecount = 0;

$handle = fopen($file, "r");

while (!feof($handle)) {
  $line = fgets($handle, 4096);
  $linecount += substr_count($line, PHP_EOL);
}

fclose($handle);</code>
Nach dem Login kopieren

Indem Sie die Datei aufteilen und Zeilenumbrüche zählen, können Sie Speicherprobleme selbst bei außergewöhnlich langen Zeilen verringern.

Das obige ist der detaillierte Inhalt vonWie können Sie Zeilen in Gigabytes an Textdaten effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage