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 :

Edition en php dans un fichier xml


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut Edition en php dans un fichier xml
    Salut à tous. J'ai un player video qui fonctionne avec une playlist xml.
    Je voudrais savoir si il y a quelq'un qui est une bete en PHP / XML pour me dire si le code suivant conviendrait pour écrire à partir d'un formulaire html dans ce fichier xml (car j'ai récupéré ce code qui au depart n'est pas vraimentfait pour cela ):

    Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php 
     
    $filename = 'image.xml';
    $news = $_POST["nom"]; // variable de Flash
    $blabla = $_POST["prenom"]; // variable de Flash
     
    $newContent = '<news news="'.$news.'" contenu="'.$blabla.'" />';
    $newContent .= '</racine>';
     
    $content = file_get_contents($filename);
    $newContent = str_replace('</racine>', $newContent, $content);
     
    $handle = fopen($filename, 'w');
    fwrite($handle, $newContent);
    fclose($handle);
     
    ?>

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php 
    $filename = 'image.xml';
    $news = 2; 
    $blabla = "Aller bordeaux !"; 
     
    // création d'une balise news avec attribut + balise fermante racine 
    $newContent = '<news news="'.$news.'" contenu="'.$blabla.'" />';
    $newContent .= '</racine>';
    // récupère le contenu du fichier image.xml et l'insère dans une chaîne 
    $content = file_get_contents($filename);
    // remplace la balise de fin racine par la nouvelle news
    $newContent = str_replace('</racine>', $newContent, $content);
    // ouverture du fichier en écriture seul place le curseur en début de fichier 
    $handle = fopen($filename, 'w');
    // écrit dans le fichier le nouveau contenu du xml
    fwrite($handle, $newContent);
    // ferme le fichier
    fclose($handle);
    ?>
    fichier image.xml avant exécution du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <racine>
    	<news news="1" contenu="Blizz come à paris" />
    </racine>
    fichier image.xml après exécution du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <racine>
    	<news news="1" contenu="Blizz come à paris" />
            <news news="2" contenu="Aller bordeaux !" />
    </racine>

  3. #3
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Marci bocu !!!

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    C'est une aberration de traiter un fichier structuré comme s'il s'agissait d'un simple fichier texte : des extensions sont prévues pour cela (DOM et SimpleXML, par exemple, et pour PHP 5). Votre méthodologie est aussi le meilleur moyen de commettre des erreurs (du point de vue de sa validité notamment, puisque les caractères spéciaux ne sont ici nullement pris en compte).

    Edit : si l'on fait ça avec DOM, cela doit donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php 
    $filename = 'image.xml';
    $dom = new DomDocument;
    $dom->formatOutput = TRUE;
    $dom->preserveWhiteSpace = FALSE;
    $dom->load($filename);
     
    $news = $dom->createElement('news');
    $news->setAttribute('news', utf8_encode($_POST['nom']));
    $news->setAttribute('contenu', utf8_encode($_POST['prenom']));
    $dom->documentElement->appendChild($news);
    $dom->save($filename);
    (non testé)

  5. #5
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Comme je ne m'y connais pas trop, je ne serais quoi te répondre !!! Mais il est vrai que en lisant le tuto de Eusebius "PHPdom", je trouve ca plus simple et plus structuré comme code !!!

    Mais merci quand meme a Gats !

  6. #6
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Entierement d'accord avec l'avis de Julp... je me suis contenté d'expliquer le code fourni, c'est vrai que je n'ai pas pensé à emettre des critiques à son sujet.

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

Discussions similaires

  1. Variable PHP dans un fichier XML
    Par BOUHH37 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 04/06/2015, 14h30
  2. Insérer des variables php dans un fichier xml
    Par Aezerium dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 21/02/2011, 11h24
  3. [XML] [DOM XML] editer un noeud dans un fichier XML
    Par nina.b dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/09/2009, 12h22
  4. [FPDF] Edition de listings dans un fichier PDF en PHP ?
    Par nerick dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 22/03/2006, 09h53
  5. [XML] Faire du php dans un fichier XML
    Par Oberown dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/02/2006, 14h17

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