Problème avec fgets()

Fermé
Welsh - 27 févr. 2014 à 20:01
 Welsh - 27 févr. 2014 à 20:17
Bonjour,
j'ai créé une page php permettant d'inscrire sur un fichier texte les nombres de 1 à 10 de cette façon
1
2
3 ...
Le programme est :
//////////
<?php
$monfichier = fopen('compteur.txt', 'r+');
for ($i = 1;$i <= 10; $i++)
{
fputs($monfichier,$i."\r\n");
}
fclose($monfichier);
?>
Pour voir le résultat c'est <a href='session2.php'>ici</a>
//////////
Ensuite j'ai créé un autre programme permettant de lire chaque lignes :
//////////
<?php
$monfichier2 = fopen('compteur.txt','r+');
while (fgets($monfichier2) != NULL)
{
echo fgets($monfichier2);

}
fclose($monfichier2);
?>
//////////
Le problème c'est que la page n'affiche que les nombres 2 4 6 8 10(au lieu de 12345678910).
Ai-je fait une faute flagrante dans mon code ?



2 réponses

Utilisateur anonyme
27 févr. 2014 à 20:13
Bonjour

Normal, tu fais deux fgets dans chaque boucle (un dans le while et un dans le echo) et tu n'affiches qu'un seul (celui du echo)

Tu peux te servir d'une variable pour mémoriser la ligne lue et t'en servir pour le echo :

while ($ligne=fgets($monfichier2)) 
{ 
echo $ligne; 
} 
0
ah oui merci ^^
0