Problème :
Lors de la tentative de lecture et d'affichage le contenu d'un fichier texte utilisant une boucle while PHP (!feof()), toutes les données ne sont pas sorties. La dernière chaîne du fichier est coupée.
Réponse :
La cause première de ce problème réside dans le placement de la vérification EOF. Le code d'origine a vérifié la fin du fichier avant d'afficher la dernière ligne. Cela a entraîné une troncature partielle de la dernière ligne.
Pour résoudre ce problème, la vérification EOF doit être intégrée au processus de lecture. Voici le code corrigé :
<?php $line_count = 0; $handle = fopen("item_sets.txt", "r"); if ($handle) { while (($buffer = fgets($handle, 4096)) !== false) { $trimmed = trim($buffer); echo $trimmed; $line_count++; } } else { echo 'Unexpected error opening file'; } fclose($handle); echo PHP_EOL.PHP_EOL.PHP_EOL.'Lines read from file = ' . $line_count; ?>
Considérations supplémentaires :
En utilisant ce code corrigé, tout le contenu du fichier texte sera lu et affiché avec succès, 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!