IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fichier RTF


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Par défaut Fichier RTF
    Bonjour,

    Je suis en train de programmer une fonction permettant de récupérer un fichier .rtf et d'y insérer des informations.
    Donc j'ouvre mon fichier avec la fonction

    $f=fopen("fichier.rtf","a+")
    je récupère les informations qui y sont contenu avec la boucle

    while(!feof("$f"))
    {
    $page.=fgets("$f",4025);// Je récupère une ligne
    }
    j'ajoute à la suite les nouvelles informations

    $page.="Nouvel appel de la fonction";
    et j'écris le tout dans le fichier

    fputs("$f","$page");
    enfin je ferme le fichier ...

    Le problème est que quand j'ouvre le fichier avec wordpad, rien ne c'est inscris, et quand je l'ouvre avec blocnote, les information ce sont bien ajoutées à la suite, mais entre les anciennes informations et les nouvelles, le signe "}" est présent et il empeche l'affichage de toutes les informations avec wordpad...

    Quelqu'un aurait la solution? Merci!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2004
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 310
    Par défaut
    Bonjour Newt,

    Ta boucle est en trop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $filename = 'test.rtf';
    $contenu = date("d.m.Y H:i:s")."\n";
    $handle = fopen($filename, 'a');
    fwrite($handle, $contenu);
    fclose($handle);
    ?>
    Dans l'exemple, j'écris seulement la date et l'heure à la fin du fichier. Les données sont bien ajoutés à la fin du fichier.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Par défaut
    Merci pour ta réponse.
    Le problème c'est toujours le caractère "}".
    Le code de la page rtf commence par { et fini par }.
    Lorsque je fais fwrite, mon nouveau texte s'ajoute après le } et donc n'apparait pas lorsque j'ouvre le fichier avec wordpad. Avec la boucle, je voulai essayer de supprimer la dernière ligne du fichier (donc le } ) pour ajouter à la suite mon texte suivi du caractère }.
    Mais je ne sais pas comment faire cette boucle.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2004
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 310
    Par défaut
    As-tu essayé avec substr_replace pour enlever le dernier caractère après avoir récupéré tout le contenu du fichier?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    // Lecture du fichier RTF
    $filename = 'test.rtf';
    $handle = fopen($filename, 'r');
    $contenu = fread($handle, filesize($filename));
    fclose($handle);
     
    // On remplace le dernier caractère par une chaîne vide
    $contenu = substr_replace($contenu,"",(strlen($contenu)-2),1);
    ?>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Par défaut
    Ca fonctionne!

    Merci beaucoup pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] ouverture d'un fichier rtf doc ou autre
    Par lucie.houel dans le forum ASP.NET
    Réponses: 5
    Dernier message: 23/11/2005, 17h45
  2. créer un fichier rtf à partir d'un modèle
    Par petitelulu dans le forum Documents
    Réponses: 3
    Dernier message: 20/09/2005, 10h38
  3. Insertion d'une image BMP dans un fichier RTF
    Par didinel dans le forum MFC
    Réponses: 8
    Dernier message: 18/08/2005, 10h24
  4. Réponses: 5
    Dernier message: 25/02/2005, 18h01
  5. inserer une image BMP dans un fichier rtf
    Par Alice9 dans le forum MFC
    Réponses: 17
    Dernier message: 06/07/2004, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo