Ecrire dans un .xml - FILE_APPEND - envoi via php

dxounet Messages postés 14 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 25 septembre 2008 - 12 sept. 2008 à 13:29
dxounet Messages postés 14 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 25 septembre 2008 - 25 sept. 2008 à 15:16
Bonjour bonjour la communauté,

J'essaie d'envoyer du contenu xml dans un fichier xml ! en meme temps que l'envoie par méthode POST.
J'ai fait un bout de code (ci-dessous) mais cela ne fonctionne pas. :

<?php
        $filename = simplexml_load_file('2.xml');
        if ( !function_exists('file_put_contents') && !defined('FILE_APPEND') )
        {
            if (file_exists($filename))
            {
   
        $xml = '<?xml version="1.0" encoding="ISO-8859-1"?>' ;
        $xml .= '' ; //écrit la valeur de la variable entre les balises
        $xml .= '<Option Name="Pass">' . $donnees["crypte"] . '</Option>';
        $xml .= '<Option Name="Group"/>';
        $xml .= '<Option Name="Bypass server userlimit">0</Option>' ;
        $xml .= '<Option Name="User Limit">0</Option>';
        $xml .= '<Option Name="IP Limit">0</Option>';
        $xml .= '<Option Name="Enabled">1</Option>';
        $xml .= '<Option Name="Comments"/>';
        $xml .= '<Option Name="ForceSsl">0</Option>';
        $xml .= '';
        $xml .= '<Disallowed/>';
        $xml .= '';
        $xml .= '';
        $xml .= '';
        $xml .= '';
        $xml .= '<Option Name="FileRead">1</Option>';
        $xml .= '<Option Name="FileWrite">1</Option>';
        $xml .= '<Option Name="FileDelete">0</Option>';
        $xml .= '<Option Name="FileAppend">0</Option>';
        $xml .= '<Option Name="DirCreate">1</Option>';
        $xml .= '<Option Name="DirDelete">1</Option>';
        $xml .= '<Option Name="DirList">1</Option>';
        $xml .= '<Option Name="DirSubdirs">1</Option>';
        $xml .= '<Option Name="IsHome">1</Option>';
        $xml .= '<Option Name="AutoCreate">0</Option>';
        $xml .= '

';
        $xml .= '

';
        $xml .= '<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">';
        $xml .= '<Download/>';
        $xml .= '';
        $xml .= '</SpeedLimits>';
        $xml .= '';
       
        $xml = $filename->asXML();
        file_put_contents('2.xml',$xml, FILE_APPEND) ;
            }
        }   
?>

J'ai point d'erreur ! mais cela ne me rempli pas mon 2.xml....

J'ai merdé ?
oui mais où ?

Merci par avance pour le coup de main.

       

24 réponses

extraman1 Messages postés 103 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 26 décembre 2009 2
19 sept. 2008 à 10:52
Salut,

Un petit cours ici :

http://www.art-toon.fr/tutos-12-29.html

extraman1
0
dxounet Messages postés 14 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 25 septembre 2008
22 sept. 2008 à 14:16
Bonjour,

Je vais ré-exposer mon souci clairement car je me suis mal exprimé.

J'ai besoin d'aller "modifier" un fichier XML pour lui écrire des choses.
Contexte :

C'est pour alimenter le fichier de Fillezilla serveur dans lequel est renseigné les utilisateurs avec leurs droits etc...
Ce fichier commence  ainsi :

<?xml version= "1.0" encoding="ISO-8859-1"?>
<FileZillaServer>
<Settings>
221
2
0
120
120
0
0
0
0
60
...
etc...

Jusqu'à la première balise USER qui se déroule comme suit :

<Option Name ="Pass">749a701f1fecf3fa691c59cc13f7a8ea</Option>
<Option Name="Group"/>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments"/>
<Option Name="ForceSsl">0</Option>

<Disallowed/>

<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">0</Option>
<Option Name="DirCreate">0</Option>
<Option Name="DirDelete">0</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>

<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download/>

</SpeedLimits>

J'ai une base SQL ou est renseigné le nom du USER et son mot de passe.
Je cherche à générer le bloque USER (comme celui ci dessus en fait !) avec a chaque fois un login et mot de passe pris soit aléatoirement, soit dans l'ordre, dans la base de données (remplie elle par un formulaire, mise à disposition des utilisateurs.)

Simplexml va m'aider à modifier un fichier xml! OK mais comment faire pour écrire à l'intérieur sans qu'il écrase tout ?
Sachant en + qu'a la fin il me faut les balises :

</FileZillaServer>

Choses que je n'arrive pas à lui indiquer. (enfin si mais je voudais lui indiquer qu'une seule fois ! et non pas qu'il me la reinsert  x fois :x  )

Est ce simple d'insérer une requete sql dans une commande simplexml ?
car je dois récupere les login et password via requete ...

bref cest compliqué mon truc .... non?
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
22 sept. 2008 à 14:28
Bonjour.
En utilisant les methodes getName('users') et addChild tu doit pouvoir faire ce que tu veux.
0
dxounet Messages postés 14 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 25 septembre 2008
25 sept. 2008 à 15:16
Merci.

Sinon j'essai de faire une requete :

$selectdate = mysql_query('SELECT  dateformat FROM inscription WHERE dateformat BETWEEN CURTIME() AND CURTIME()- 15*24*60*60 ') or die(mysql_error()."\n".$selectdate);   

mais ca ne passe pas ...

une idée ?
0
Rejoignez-nous