Maison >développement back-end >tutoriel php >PHP `feof()` : Pourquoi ma boucle While n'imprime-t-elle pas l'intégralité du fichier ?

PHP `feof()` : Pourquoi ma boucle While n'imprime-t-elle pas l'intégralité du fichier ?

DDD
DDDoriginal
2024-12-29 00:46:13766parcourir

PHP `feof()`: Why Isn't My While Loop Printing the Entire File?

PHP : la boucle While (feof()) ne produit pas tout

Dans ce numéro, l'utilisateur tente de lire et d'imprimer le contenu de un fichier texte utilisant une boucle while et la fonction feof(). Cependant, ils rencontrent une sortie incomplète, notamment vers la fin du fichier.

Le problème vient du placement du test feof(). Dans le code original, feof() vérifie la fin du fichier avant de lire la dernière ligne, ce qui entraîne une dernière ligne tronquée.

Pour résoudre ce problème, le code fourni dans la réponse réécrit la condition de boucle pour tester feof () dans le cadre du processus de lecture :

while (($buffer = fgets($handle, 4096)) !== false) {

Cela garantit que la boucle continue jusqu'à ce que la fin du fichier soit atteinte et que toutes les lignes soient lues et imprimé.

De plus, la réponse souligne l'importance de la gestion des erreurs en supprimant l'opérateur de suppression @ de fopen() et en incluant la gestion des erreurs pour détecter toute erreur d'ouverture de fichier.

Avec ces modifications, le la boucle lit et affiche correctement tout le contenu du fichier texte, y compris la dernière ligne.

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