Faire remonter une remarque sur un article de l'Encyclopédie

genthial Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
genthial Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je souhaite faire une remarque sur cet article de l'encyclopédie :

https://www.commentcamarche.net/contents/791-php-les-fichiers#lecture-et-ecriture

Cette remarque nécessite une modification de l'article.
Quelqu'un peut-il m'indiquer la marche à suivre ?
Merci d'avance,

3 réponses

Utilisateur anonyme
 
Bonjour

j'ai demandé à la modération de déplacer ta question dans le forum Bugs et Suggestions.

Il ne s'agit pas à proprement parlé d'un bug du site, mais si tu décrits ici l'erreur, le modérateur qui prendra en charge mon signalement pourra aussi la corriger
0
Judge_DT Messages postés 29412 Date d'inscription   Statut Modérateur Dernière intervention   9 671
 
Salut,

Je confirme ce qu'a dit mon ex-confrère modérateur Whismeril,

Avec les précisions sur les modifications que tu penses devoir apporter à ce document, je pourrai très bien le corriger, cependant sans avoir de précision, ni rien, c'est un peu plus compliqué.

Bien à toi,


0
genthial Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci de votre réactivité.

Dans l'article un exemple de parcours de fichier est donné avec test d'arrêt de la boucle sur feof, mais cet algorithme est incorrect car il lit au-delà de la fin du fichier, créant une ligne vide virtuelle à la fin du fichier.

Voici l'original :
<?
if (!$fp = fopen("fichier.txt","r")) {
echo "Echec de l'ouverture du fichier";

exit;
}

else {
 while(!feof($fp)) {
 // On récupère une ligne
  $Ligne = fgets($fp,255);

 // On affiche la ligne
  echo $Ligne;

 // On stocke l'ensemble des lignes dans une variable
  $Fichier .= $Ligne;

 }
 fclose($fp); // On ferme le fichier
}

?>


Voici la correction que je propose :
<?
if (!$fp = fopen("fichier.txt","r")) {
echo "Echec de l'ouverture du fichier";

exit;

}

else {
 // On récupère une éventuelle première ligne
  $Ligne = fgets($fp,255);
 while(!feof($fp)) {  // tant que cette ligne existe

 // On affiche la ligne
  echo $Ligne;

 // On stocke l'ensemble des lignes dans une variable
  $Fichier .= $Ligne;

 // On récupère une éventuelle ligne suivante
  $Ligne = fgets($fp,255);

 }
 fclose($fp); // On ferme le fichier
}

?>
0