Enregister des données XML
bonolebo
Messages postés
30
Statut
Membre
-
zoby44 Messages postés 868 Statut Membre -
zoby44 Messages postés 868 Statut Membre -
Bonjour,
j'ai crée ce script :
<?php
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
$dir = 'photos_diapo/';
echo '<reponse>';
echo '<album id="photos_diapo">';
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
if (preg_match("#^[a-z0-9 _-]+\.(jpg|png|jpeg|gif)$#i", $file))
echo '<photo title="'. $file . '" src="files/' . $dir . $file . '"/>';
}
closedir($handle);
}
echo '</album>';
echo '</reponse>';
?>
Le script précedent me génére du XML. Ici, il me génére ceci :
<?xml version="1.0" encoding="utf-8" ?>
- <reponse>
- <album id="photos_diapo">
<photo title="Aigle.jpg" src="files/photos_diapo/Aigle.jpg" />
<photo title="DeathRace.jpg" src="files/photos_diapo/DeathRace.jpg" />
<photo title="devdas.jpg" src="files/photos_diapo/devdas.jpg" />
<photo title="embleme.jpg" src="files/photos_diapo/embleme.jpg" />
<photo title="GTO.jpg" src="files/photos_diapo/GTO.jpg" />
<photo title="Inglorious basterd.jpg" src="files/photos_diapo/Inglorious basterd.jpg" />
<photo title="ironMan.jpg" src="files/photos_diapo/ironMan.jpg" />
<photo title="kamehameha.jpg" src="files/photos_diapo/kamehameha.jpg" />
<photo title="lili.jpg" src="files/photos_diapo/lili.jpg" />
<photo title="TKD.jpg" src="files/photos_diapo/TKD.jpg" />
<photo title="Yeraz.jpg" src="files/photos_diapo/Yeraz.jpg" />
</album>
</reponse>
J'aimerai savoir si il existe un moyen d'enregister le XML généré, dans un fichier XML qui existe déja.
Merci, Jean
j'ai crée ce script :
<?php
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
$dir = 'photos_diapo/';
echo '<reponse>';
echo '<album id="photos_diapo">';
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
if (preg_match("#^[a-z0-9 _-]+\.(jpg|png|jpeg|gif)$#i", $file))
echo '<photo title="'. $file . '" src="files/' . $dir . $file . '"/>';
}
closedir($handle);
}
echo '</album>';
echo '</reponse>';
?>
Le script précedent me génére du XML. Ici, il me génére ceci :
<?xml version="1.0" encoding="utf-8" ?>
- <reponse>
- <album id="photos_diapo">
<photo title="Aigle.jpg" src="files/photos_diapo/Aigle.jpg" />
<photo title="DeathRace.jpg" src="files/photos_diapo/DeathRace.jpg" />
<photo title="devdas.jpg" src="files/photos_diapo/devdas.jpg" />
<photo title="embleme.jpg" src="files/photos_diapo/embleme.jpg" />
<photo title="GTO.jpg" src="files/photos_diapo/GTO.jpg" />
<photo title="Inglorious basterd.jpg" src="files/photos_diapo/Inglorious basterd.jpg" />
<photo title="ironMan.jpg" src="files/photos_diapo/ironMan.jpg" />
<photo title="kamehameha.jpg" src="files/photos_diapo/kamehameha.jpg" />
<photo title="lili.jpg" src="files/photos_diapo/lili.jpg" />
<photo title="TKD.jpg" src="files/photos_diapo/TKD.jpg" />
<photo title="Yeraz.jpg" src="files/photos_diapo/Yeraz.jpg" />
</album>
</reponse>
J'aimerai savoir si il existe un moyen d'enregister le XML généré, dans un fichier XML qui existe déja.
Merci, Jean
Configuration: Windows XP Internet Explorer 8.0
4 réponses
-
-
Merci pour cette reponse rapide
Mais le probleme est que le fichier d'origine ne contien qu'un code PHP qui va générer les donnée que je souhaiterai enregistrer
Autrement dit, je ne peux pas faire un FWrite sur mon fichier .php car il me copiera seulement mon script PHP, et non ce qu'il génére (j'ai bien compris?)
Merci, Jean
-
-
-
non tu pouras creer un fichier avec les donnee generee par php
-
Salut, le mieux pour le xml, c'est de travailler avec le dom.
En gros, ça fonctionne comme ça :<?php $XMLfile = 'mon_fichier_xml.xml'; $dom = new DOMDocument(); $dom -> load($XMLfile); $image = $dom -> createElement('photo'); // On créé un nouvel élément "photo" $image = $dom -> setAttribute('title', 'Aigle.jpg'); // On ajoute l'attribut "title" $image = $dom -> setAttribute('src', 'files/photos_diapo/Aigle.jpg'); // Pareil pour le "src" $album = $dom -> getElementById('photos_diapo'); // On sélectionne l'album $album -> appendChild($image); // On ajoute l'élément à l'album $dom -> save($XMLfile); // On sauvegarde le fichier ?>
Après, ce n'est pas à recopier, c'est juste un aperçus de comment xml peut fonctionner avec php.
Ce n'est pas évident à prendre en main, mais une fois la logique du dom comprise, ça va tout seul.
La documentation est bien faite et il y a pas mal d'exemple de donnés. Sinon, il y à un petit tuto.