Maison >développement back-end >tutoriel php >Comment puis-je lire des fichiers volumineux ligne par ligne en PHP sans manquer de mémoire ?

Comment puis-je lire des fichiers volumineux ligne par ligne en PHP sans manquer de mémoire ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-15 10:55:17470parcourir

How Can I Read Large Files Line by Line in PHP Without Running Out of Memory?

Lecture de fichiers volumineux ligne par ligne sans contraintes de mémoire

Le chargement d'un fichier entier en mémoire peut constituer un goulot d'étranglement en termes de performances, en particulier lorsqu'il s'agit de fichiers massifs. fichiers. Pour surmonter ce défi tout en préservant l'accès ligne par ligne, envisagez d'utiliser la fonction fgets().

fgets() fonctionne en récupérant une seule ligne à partir d'un pointeur de fichier et en la stockant dans un tampon spécifié. Son implémentation consomme une quantité minimale de mémoire puisqu'elle lit uniquement la ligne actuelle, pas le fichier entier.

Voici un exemple qui montre comment utiliser fgets() pour lire un gros fichier ligne par ligne :

<?php
$handle = fopen("inputfile.txt", "r");

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // Process the current line here.
    }

    fclose($handle);
}
?>

Ce script parcourt efficacement le fichier, ligne par ligne, sans dépasser les limites de mémoire, même pour les fichiers pouvant atteindre 1 Go.

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