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>
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>
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!