Problème avec fgets()

Welsh -  
 Welsh -
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
 
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
Welsh
 
ah oui merci ^^
0