Page 1 sur 1

Insertion dans du xml

Posté : 17 juil. 2005, 18:13
par MagicPicpic
Salut,
comment dois je faire pour inserer "un truc" dans un fichier xml deja existant, j'ai fait ca selon un bouquin de chez eyrolles mais il m'efface ma BDD xml et ne me permet pas d'inserer :(

Help! plz :)
<?php
$dest_dir ='./UploadToile/';
move_uploaded_file ($_FILES['Mini']['tmp_name'], $dest_dir.$_FILES['Mini']['name']);
move_uploaded_file ($_FILES['Photo']['tmp_name'], $dest_dir.$_FILES['Photo']['name']);
$Mini=($_FILES['Mini']['name']);
$Photo=($_FILES['Photo']['name']);
$fp= fopen ("Toile.xml", "w");
$fichier_xml="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n";
$fichier_xml.="<visioneuse>\r\n";
$fichier_xml.="\t<diapo>";
$fichier_xml.="<mini>".$dest_dir.$Mini."</mini>";
$fichier_xml.="<photo>".$dest_dir.$Photo."</photo>";
$fichier_xml.="</diapo>\r\n";
$fichier_xml.="</visioneuse>";
fwrite($fp, $fichier_xml);
fclose($fp);
header("location:Toile.xml");
?>

Posté : 18 juil. 2005, 09:56
par Invité
Personne de pévhu pour m'aider dans ma quêeeeeete????

Posté : 18 juil. 2005, 10:02
par ouckileou
si tu ouvres ton fichier en mode 'w', tu a tout réécrire par dessus
si tu veux rajouter du contenu à la suite, ouvre avec 'a+'

mais pour traiter du xml il y a des outils plus appropriés si tu souhaites insérer du contenu au milieu

Posté : 18 juil. 2005, 10:04
par zeus
$fp= fopen ("Toile.xml", "w"); 
Cette ligne te permet d'ouvrir ton fichier XML, OK
mais le "w" ouvre le fichier en supprimant le contenu précédent ... :wink:
Si tu veut ajouter à la fin de ton document des lignes, il faut utiliser l'argument "a"
$fp= fopen ("Toile.xml", "a"); 

Posté : 18 juil. 2005, 10:04
par rami
Comme DomXML

Posté : 18 juil. 2005, 21:18
par MagicPicpic
Salut!
Merci pour vos réponses cela m'a bien aider... mais j'ai encore un soucis... et voui (soupirs!) il faudrait que j'insére les données entre mes deux balises <visioneuse>...</visioneuse>

Posté : 19 juil. 2005, 08:12
par Cyrano
Dans le principe :
ouvre ton fichier XML et récupère toutes les données dans un tableau (array) multidimensionnel. Ensuite, dans une boucle tu devras récupérer ligne par ligne ton tableau pour ré-écrire complètement ton fichier en insérant à l'endroit voulu l'information que tu veux ajouter là où tu veux l'ajouter en fonction d'un critère défini dans une alternative if/else par exemple.

Posté : 19 juil. 2005, 10:37
par mere-teresa
Modération : Hop ! Hop ! On a un beau forum "XML" pourquoi ne pas l'utiliser ?

Posté : 20 juil. 2005, 10:43
par daoud
Un petit mot dire que je rejoins volontiers rami sur l'utilisation de l'api DOM dans ton cas.