PHP ajout Texte dans fichier TXT

Résolu
malabarbe Messages postés 136 Statut Membre -  
 Gilues -
Bonjour,

Comment en PHP, écrire un texte a la fin de la
dernière ligne d'un fichier TXT ?

3 réponses

  1. vlmath Messages postés 833 Statut Contributeur 160
     
    Salut,

    Pour écrire à la fin d'un fichier, tu dois l'ouvrir avec l'option "a" :
    <?php
    if( !($fp = fopen('fichier.txt', 'w')) ) return;
    
    fprintf( $fp, "ton texte" );
    ?>


    @Bientôt
    1
    1. malabarbe Messages postés 136 Statut Membre 1
       
      Non seulement cela n'écrit rien, mais ça vide mon fichier Mon code :

      <?PHP
      $fp = fopen("stats/compteur_num_vu.txt","r+");
      $txt = " *** Manquante ***";
      if( !($fp = fopen('stats/compteur_num_vu.txt', 'w')) ) return;
      fprintf( $fp, $txt );
      fputs($fp);
      fclose($fp);
      ?>
      0
  2. vlmath Messages postés 833 Statut Contributeur 160
     
    A oui, je vois pourquoi ... désolé.

    J'ai dit de l'ouvrir avec l'option a, mais j'ai écrit w ....... désolé
    <?php
    if( !($fp = fopen('fichier.txt', 'a')) ) return;
    
    fprintf( $fp, "ton texte" );
    ?>


    Donc :
    <code><?PHP
    $txt = " *** Manquante ***";
    if( ($fp = fopen('stats/compteur_num_vu.txt', 'w')) ) fprintf( $fp, $txt ); // modifié un chouia ... :D
    fclose($fp);
    ?>
    1
    1. malabarbe Messages postés 136 Statut Membre 1
       
      Ok, c'est bon

      mais cela ajoute une ligne dans le fichier
      Alors que je voudrais écrire a la fin de la dernière ligne du fichier

      Mon code :

      <?PHP
      $fp = fopen("stats/compteur_num_vu.txt","a");
      $txt = " *** Manquante ***\n";
      fwrite($fp, $txt);
      fclose($fp);
      ?>

      Peut-etre, oter au préalable le dernier caractère du fichier (saut de ligne)

      Comment faire ?
      0
    2. Gilues
       
      Fais comme si tu passes à la ligne:
      $txt =
      " *** Manquante ***";
      0
  3. vlmath Messages postés 833 Statut Contributeur 160
     
    Essaye de mettre un \b avant ton message (c'est un déplacement gauche du curseur ...), mais je ne suis pas sur du tout que ça marche ...
    0
    1. malabarbe Messages postés 136 Statut Membre 1
       
      Non, le \b avant ton message ne marche pas

      J'ai résolu mon PB en otant le saut de ligne a chaque
      nouvel enregistrement

      Merci à toi
      0