par
Pedro » 01 févr. 2006, 22:12
Bonsoir à tous!
Bon je préviens tout de suite je suis débutant en php.
Voici ma question:
Je récupère des données depuis un fichier swf que j'ai créer. Ces données sont transmises à php pour les écrire dans un fichier xml.
Mon code php pour save.php est le suivant:
<?php
//Je récupère les données depuis flash
$id= $_POST['id'];
$box1= $_POST['box1'];
$box2= $_POST['box2'];
$box3= $_POST['box3'];
//Je réécris ça en xml pour le mettre à la suite de mon fichier
$toSave = '<item nom="'.$id.'" donnees="'.$box1.'" info="'.$box2.'" info2="'.$box3.'" />';
//J'ouvre mon fichier xml
//a+ pour ecrire à la suite
$fp = fopen("registre.xml", "a+");
if(fwrite($fp, $toSave)) echo "writing=Ok";
else echo "writing=Error";
fclose($fp);
?>
Donc la tout ce passe bien, les données sont bien ajoutées à mon fichier xml.
Mon fichier xml est comme ceci:
Code : Tout sélectionner
<?xml version="1.0" encoding="utf-8"?>
<items>
<item nom="premierItem" donnees="01" info="01" info2="01" />
<item nom="Item2" donnees="01" info="01" info2="01" />
et la php rajoute viens rajouté les données à la suite
Mon problème c'est que je ne sais pas comment fermer mon fichier xml. C'est à dire lui rajouter la balise qui fermera la racine </items>.
Si je le met ici :
$toSave = '<item nom="'.$id.'" donnees="'.$box1.'" info="'.$box2.'" info2="'.$box3.'" /></items>';
Quand mon fichier save.php sera rééxécuter, il me rajoutera encore </items> et mon xml ne sera plus correcte.
Je suis débutant et je cherche une solution simple à mon problème. Quelqu'un serait-il comment je pourrais écrire à la suite de mon xml, puis le fermer. Et ceci à chaque que je rééxécute mon fichier save.php