Maison > développement back-end > tutoriel php > 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
Libérer: 2024-11-04 19:33:02
original
226 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal