Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2931 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  créer un document xml avec php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

créer un document xml avec php

n°1908846
jenny50
Posté le 27-07-2009 à 11:37:46  profilanswer
 

Bonjour à tous,  
 
J'ai pas mal navigué sur le web mais ne comprend rien et m'embrouille l'esprit. Alors voilà mon problème. Je souhaite créer un fichier XML avec PHP. Voici mon code pour créer le document XML.
 

Code :
  1. <?php
  2.   $doc = new DomDocument('1.0', 'iso-8859-1');
  3.   $sources = $doc->createElement('sources');
  4.   $doc->appendChild($sources);
  5.   $titres = array('Articles', 'Actualités', 'Scripts PHP', 'Scripts Flash', 'Les services MSG');
  6.   for ($i = 0; $i < strlen($titres); $i++)
  7.   {
  8.     $src_texte = $doc->createElement('texte');
  9.     $sources->appendChild($src_texte);
  10.     $src_texte_attribut = $doc->createAttribute('titre');
  11.     $src_texte->appendChild($src_texte_attribut);
  12.     $src_valeurAttribut = $doc->createTextNode("$titres[$i]" );
  13.     $src_texte_attribut->appendChild($src_valeurAttribut);
  14.   }
  15.   $doc->save('resultat.xml');
  16.   print $doc->saveXML();
  17. ?>


 
Voici l'erreur quand je lance la page :
Warning: DOMDocument::save(resultat.xml) [function.save]: failed to open stream: Permission denied in c:\travail\intranet\test.php on line 42
Warning: DOMDocument::saveXML() [function.saveXML]: output conversion failed due to conv error in c:\travail\intranet\test.php on line 43
Warning: DOMDocument::saveXML() [function.saveXML]: Bytes: 0xE9 0x73 0x22 0x2F in c:\travail\intranet\test.php on line 43
<texte titre="Actualit  
 
Voici le resultat de mon PHPINFO();
dom
DOM/XML  enabled  
DOM/XML API Version  20031129  
libxml Version  2.6.11  
HTML Support  enabled  
XPath Support  enabled  
XPointer Support  enabled  
Schema Support  enabled  
RelaxNG Support  enabled  
 
Comment dois-je faire? je suppose il faut que je dé commente une extension dans php.ini mais laquelle :  
;extension=php_mbstring.dll
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
 
MERCI beaucoup pour vos réponses.
 

mood
Publicité
Posté le 27-07-2009 à 11:37:46  profilanswer
 

n°1908876
Alisteroid
Posté le 27-07-2009 à 12:21:04  profilanswer
 

Il faut faire un CHMOD 777 sur le dossier ou tu enregistre ton fichier xml, ici c'est la racine, je te deconseille de faire ce genre de CHMOD sur la racine donc crée un dossier spécial pour mettre ces fichiers et mets les autorisations sur 777.

n°1908920
jenny50
Posté le 27-07-2009 à 13:42:05  profilanswer
 

j'ai essayé mais j'ai toujours le même message d'erreur ... PERMISSION DENIED !

n°1909071
the_bigboo
Posté le 27-07-2009 à 16:34:03  profilanswer
 

Peut etre un safe mode ?
Au passage, ça c'est moche :

Code :
  1. $src_valeurAttribut = $doc->createTextNode("$titres[$i]" );


Mais ça, c'est mieux :

Code :
  1. $src_valeurAttribut = $doc->createTextNode( $titres[$i] );


 
Et indépendamment de cette erreur, essaye de faire des tests avec des is_writable, is_dir ... pour essayer de diagnostiquer le problème plus précisément ;)

n°1909439
jenny50
Posté le 28-07-2009 à 15:27:49  profilanswer
 

bool(false) et le fichier est accessible en écriture...
Je fais quoi avec ça car là je comprends pas tout. Avez-vous une idée

n°1909548
the_bigboo
Posté le 28-07-2009 à 22:25:56  profilanswer
 

jenny50 a écrit :

bool(false) et le fichier est accessible en écriture...


Ça ne veut rien dire ça, soit ca renvoie false et ce n'est pas accessible en écriture, soit ca renvoie true...

n°1909857
jenny50
Posté le 29-07-2009 à 14:02:23  profilanswer
 

Quand je fais un "is_writable" ça me renvoit "le fichier est accessible" et quand je fais un "is_dir" ça me renvoit "bool(false)"
 
C'est contradictoire mais c'est ça que j'ai !!

n°1909944
ionik
Posté le 29-07-2009 à 15:28:51  profilanswer
 

essaye tout simplement de te servir de fwrite()


---------------
Recette cookeo Recette de cuisine
n°1909947
jenny50
Posté le 29-07-2009 à 15:41:09  profilanswer
 

voici mon code :  

Code :
  1. $filename = 'public/rh/test.txt';
  2. $fp = fopen($filename, 'w');
  3. fwrite($fp, '1');
  4. fwrite($fp, '23');
  5. fclose($fp);


 
et voici ce que ça donne :  
Warning: fopen(public/rh/test.txt) [function.fopen]: failed to open stream: Permission denied in c:\travail\test2.php on line 4
 
Warning: fwrite(): supplied argument is not a valid stream resource in c:\travail\test2.php on line 5
 
Warning: fwrite(): supplied argument is not a valid stream resource in c:\travail\test2.php on line 6
 
Warning: fclose(): supplied argument is not a valid stream resource in c:\travail\test2.php on line 7

n°1909954
stealth35
Posté le 29-07-2009 à 15:54:30  profilanswer
 

fwrite, c'est vieux, c'est mieux d'utilisé ,  file_put_contents
 
t'as essayé de creer d'hab un fichier vide a la main ?

mood
Publicité
Posté le 29-07-2009 à 15:54:30  profilanswer
 

n°1909959
jenny50
Posté le 29-07-2009 à 16:01:21  profilanswer
 

Oui j'ai créé le fichier vide avant.

n°1909962
stealth35
Posté le 29-07-2009 à 16:04:38  profilanswer
 

t'es sous unix ou sous windows ?

n°1909964
jenny50
Posté le 29-07-2009 à 16:06:15  profilanswer
 
n°1909979
ionik
Posté le 29-07-2009 à 16:33:20  profilanswer
 


IIs 6 ou iis 7 ?
 
Ps essaye depuis iis (si c'est le cas) d'aller dans les paramètre et sur la barre de gauche pour iis7 (changer les autorisations) et pard default cela devrait mettre les bonnes ;)


---------------
Recette cookeo Recette de cuisine

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  créer un document xml avec php

 

Sujets relatifs
Creer un fichier à partir de phpCréer calculs à trou donnant résultat
[RESOLU] Créer un document RTF avec du PHPCréer un document DOM à partir d'un parser SAX
[html] créer un lien pour télécharger un document officecreer un document .pdf
créer macro sur un documentApplication d'un XSL pour créer un document XSL - help
[PHP] Créer un document pdf![vb-script] coment creer un document word
Plus de sujets relatifs à : créer un document xml avec php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR