écraser un message de manière qu'il n'y ai que le dernier

mariang Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
mariang Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai trouvé un tuto pour écrire un message sur une page de mon site sans base de donnée.

Le tuto est pour un livre d'or.

hors, je ne veux pas de livre d'or...

Sur ma page, on va dire que je veux donner une info, et que la précédente s'efface dès la nouvelle info.

là, est une partie du code pour un livre d'or, j'aimerai savoir ce que je dois supprimer ou modifier pour que le message soit "écrasé"

 // Si ok on ouvre en écriture-enregistrement du fichier message.txt
$verif=@fopen($commentaires,"r+");

// On analyse les anciennes données et on les stocks
$stock=@fread($verif,filesize($commentaires));

// On met la date dans une variable
$date=date ("d/m/Y à H:i");

// On paramètre le tout dans la variable $opinion
$opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";

// On remet le curseur du fichier en début de ligne
rewind($verif);

// On insère le nouveau commentaire
fputs($verif,$opinion." \n".$stock);

// On clore le fichier
fclose($verif);

// On affiche le tout
readfile($commentaires);


En premier lieu, j'ai pensé à supprimer $stock, pensant que cela évitait de remettre l'info précédente
puis j'ai supprimé "r+" du $verif=@fopen($commentaires,"r+");

et aussi le \n".$stock dans fputs($verif,$opinion." \n".$stock);

mais cela ne fonctionne pas, j'ai toujours les messages qui s'accumulent.

ok, je fais du "bidouillage" étant donné que je ne comprends pas grand chose...

merci pour votre aide
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Une solution possible est d'utiliser le mode 'w+' en 2e paramètre de fopen permettant ainsi de supprimer le contenu du fichier à l'ouverture de celui-ci.

On peut du coup supprimer l'utilisation de la variable $stock et de l'instruction rewind :

        // Si ok on ouvre en écriture-enregistrement du fichier message.txt
        $verif=@fopen($commentaires,"w+");
               
        // On met la date dans une variable
        $date=date ("d/m/Y à H:i");
       
        // On paramètre le tout dans la variable $opinion
        $opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
       
        // On insère le nouveau commentaire
        fputs($verif,$opinion);
       
        // On clore le fichier
        fclose($verif);
       
        // On affiche le tout
        readfile($commentaires);


Bonne journée
0
mariang Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   1
 
ben voilà, ça marche

grand merci

bonne fin de journée
0