Maison  >  Article  >  développement back-end  >  Comment compter efficacement les lignes dans des fichiers texte volumineux en PHP ?

Comment compter efficacement les lignes dans des fichiers texte volumineux en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 19:33:02157parcourir

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

Comptage efficace des lignes de fichiers texte pour les fichiers volumineux

Problème :

Les scripts PHP peuvent rencontrer des problèmes de mémoire lorsqu'ils tentent de compter les lignes de gros fichiers texte (2 Mo). Une approche courante utilisant file() et count() peut déclencher une erreur de mémoire fatale.

Solution :

Pour éviter l'épuisement de la mémoire, envisagez d'adopter une approche plus efficace :

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

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

fclose($handle);

echo $linecount;</code>

Cette approche utilise fgets() pour lire une seule ligne à la fois, ce qui réduit l'utilisation de la mémoire.

Pour les lignes extrêmement longues, une variante utilisant substr_count() peut être utilisée pour compter les caractères de fin de ligne :

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

En implémentant ces techniques, les scripts PHP peuvent compter efficacement les lignes de gros fichiers texte tout en économisant la mémoire.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn