Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man Zeilen in großen Textdateien in PHP effizient zählen?

Wie kann man Zeilen in großen Textdateien in PHP effizient zählen?

Linda Hamilton
Freigeben: 2024-11-04 19:33:02
Original
237 Leute haben es durchsucht

How to Count Lines in Large Text Files Efficiently in PHP?

Textdateizeilen für große Dateien effizient zählen

Problem:

PHP-Skripte können beim Zählversuch auf Speicherprobleme stoßen die Zeilen großer Textdateien (2 MB). Ein üblicher Ansatz mit file() und count() kann einen schwerwiegenden Speicherfehler auslösen.

Lösung:

Um eine Speichererschöpfung zu vermeiden, sollten Sie einen effizienteren Ansatz in Betracht ziehen:

<code class="php">$file = "largefile.txt";
$linecount = 0;
$handle = fopen($file, "r");

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

fclose($handle);

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

Dieser Ansatz verwendet fgets(), um jeweils eine einzelne Zeile zu lesen, was die Speichernutzung reduziert.

Für extrem lange Zeilen kann eine Variante mit substr_count() verwendet werden, um Zeilenendezeichen zu zählen:

<code class="php">$handle = fopen($file, "r");

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

fclose($handle);

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

Durch die Implementierung dieser Techniken können PHP-Skripte die Zeilen effizient zählen großer Textdateien bei gleichzeitiger Speicherersparnis.

Das obige ist der detaillierte Inhalt vonWie kann man Zeilen in großen Textdateien in PHP 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