Pour les fichiers texte dépassant 200 Mo, le comptage des lignes à l'aide de count(file($path)) peut rencontrer limitations de mémoire. Voici une solution plus efficace :
<code class="php">$file = "largefile.txt"; $linecount = 0; $handle = fopen($file, "r"); while (!feof($handle)) { fgets($handle); $linecount++; } fclose($handle); echo $linecount;</code>
Cette approche charge une seule ligne à la fois en mémoire, évitant ainsi d'avoir à stocker l'intégralité du fichier en mémoire.
Si vos fichiers peuvent contenir des fichiers extrêmement lignes longues, vous pouvez utiliser cette méthode alternative pour compter les sauts de ligne :
<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>
En découpant le fichier et en comptant les sauts de ligne, vous pouvez atténuer les problèmes de mémoire, même avec des lignes exceptionnellement longues.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!