XML et PHP Ecriture/Lecture

Résolu/Fermé
Tokoshie - 21 sept. 2010 à 06:29
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 21 sept. 2010 à 16:30
Bonjour,

J'essaye actuellement de lire et écrire dans un fichier XML.

Je connais le code pour lire et compter le nombre de lignes :


<?php

if (file_exists('FileZila server.xml')) 

	{
		
		$xml = simplexml_load_file('FileZila server.xml');
		
 
		echo "<hr>Here is a dump of the data structure:";
 
  echo "<pre>";
  print_r($xml);
  echo "</pre>";
  
	} 
	
else 

	{
	
	exit('Failed to open FileZila Config');
	
	}

 
$fileLines=file('FileZila server.xml'); 
$nb_ligne = count($fileLines); 

echo $nb_ligne;

?> 



Ce qui me manque ?

La suite, pour écrire un contenu 2 lignes avant la fin du documents qui serait sous cette forme :


<User Name="Admin">
            <Option Name="Pass"></Option>
            <Option Name="Group"></Option>
            <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>
            <Option Name="ForceSsl">0</Option>
            <IpFilter>
                <Disallowed />
                <Allowed />
            </IpFilter>
            <Permissions>
                <Permission Dir="D:">
                    <Option Name="FileRead">1</Option>
                    <Option Name="FileWrite">0</Option>
                    <Option Name="FileDelete">0</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>
                </Permission>
            </Permissions>
            <SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
                <Download />
                <Upload />
            </SpeedLimits>
        </User>




Voilà, merci d'avance.

A voir également:

2 réponses

varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
21 sept. 2010 à 10:09
Bonjour,

Le mieux serait, plutot que de te refaire tout le cours sur la lecture écriture dans un fichier en php, que tu ailles voir les cours prévu à cette effet sur le site du zero:

Lire et écrire dans un fichier

tres detaillé, tu sera rapidement capable de faire cela tout seul apres.
0
Bonjour !

Merci de ta réponse, mais soucis, pour ajouter dans un XML ça ne marche pas :(
0
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
21 sept. 2010 à 13:09
tu as vérifié que tu l'as bien ouvert en lecture écriture, et que tu ne l'efface pas à l'ouverture?
De plus il faut placer ton curseur a la fin du document vu que tu veut ajouter à la fin.
0
Oui, mais il n'ouvre pas les fichier XML avec une lecture de type fichier .txt
0
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
21 sept. 2010 à 13:24
tu peut essayer par d'autre moyen...contourner le probleme:

copier la totalité de ton fichier xml dans un fichier txt, rajouter ce que tu doit rajouter, renommer ton fichier txt en fichier xml

ou bien encore renommer ton fichier xml en fichier txt, ajouter ce que tu veut et le remettre en xml
0
J'y ai penser, mais ça risque de faire longs comme requête non ?

Tu sais m'expliquer comment changer l'extension d'un fichier en PHP?

Merci d'avance
0
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
Modifié par varfendell le 21/09/2010 à 14:04
pour renommer un fichier en php, tu utilises la fonction
<? 
rename(nom_depart, nom_nouveau); 
?> 


de sorte que:

$nomFichier = $_FILES['fichier1']["name"] ; 
$NewNomFichier = 'LeNomQueTuVeut'; 
rename($nomFichier, $NewNomFichier);
0