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

  FORUM HardWare.fr
  Programmation
  PHP

  xml et <?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

xml et <?

n°1251204
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 01:10:57  profilanswer
 

youp,
 
 
je crée un xml à partir d'un xml et d'un xsl et je mets le tout dans un fichier:
 
 

Code :
  1. $xml = new DOMDocument;
  2. $xml->preserveWhiteSpace = false;
  3. $xml->formatOutput = true;
  4. $xml->load('fichier.xml');
  5. # on load le fichier .xsl
  6. $xsl = new DOMDocument;
  7. $xsl->load('fichier.xsl');
  8. # Configuration du transformer
  9. $proc = new XSLTProcessor;
  10. $proc->importStyleSheet($xsl); // attach the xsl rules -- no value returned
  11. # application du xsl sur le xml
  12. $buffer = $proc->transformToXML($xml);
  13. $num = file_put_contents('fichier.php', $buffer);


il me crée bien un fichier, mais un fichier xml (normal).
 
Seulement, je voudrais nommer mon fichier en .php et c'est la que ca coince puisque la première ligne du fichier créé est

Citation :

<?xml version="1.0"?>


que PHP veut interpréter.
 
 
y a-t-il une astuce autre que  

Code :
  1. $pattern = '@<\?xml version="1.0"\?>@';
  2.  $new = "<? echo \"<?xml version=\\\"1.0\\\"?>\\n\"; ?>";
  3.  $buffer = preg_replace($pattern, $new, $buffer);


pour que ca ne gueule pas ?
 
merci
 
 
PS: je ne veux pas non plus enlever tous les <? ?> parce que j'en ai besoin pour faire un include dans le document


Message édité par art_dupond le 23-11-2005 à 01:25:15

---------------
oui oui
mood
Publicité
Posté le 23-11-2005 à 01:10:57  profilanswer
 

n°1251245
elianor
bannie 17 fois
Posté le 23-11-2005 à 09:27:19  profilanswer
 

$buffer = "<"."?xml version=\"1.0\"?>";


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1251541
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 14:50:31  profilanswer
 

je ne comprends pas trop ta réponse.
 
si je mets ca, y aura  
 
<?xml version="1.0"?>  
 
dans le fichier non ?
 
 
en fait, je crois que je vais rester sur un preg_replace mais avec un autre masque :  
 
<\?xml(.*)\?>
 
j'avais peur que ca foire s'il la version change ou avec d'autres attributs. mais comme ca, ca devrait etre bon (j'espère).

n°1251576
sub1
Posté le 23-11-2005 à 15:23:03  profilanswer
 

salut,  
autre solution : ne pas utiliser les shorts_tags dans php.ini et toujours employer "<?php" à la place de "<?"

n°1251579
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 15:27:21  profilanswer
 

oui j'aurais bien aimé mais je ne peux pas toucher au php.ini (mutu chez ovh) :(
 
d'ailleurs je ne comprends pas pourquoi ils ne veulent pas mettre le register_globals sur 'off', au moins sur le php5 (plus récent donc pas besoin de compatibilité des scripts...)


Message édité par art_dupond le 23-11-2005 à 15:28:59
n°1251609
soju
One shot !
Posté le 23-11-2005 à 16:10:10  profilanswer
 
n°1251636
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 16:45:19  profilanswer
 

le monsieur il a dit qu'il ne pouvait pas toucher au php.ini (pas de ini_set, ...) ;)

n°1251637
soju
One shot !
Posté le 23-11-2005 à 16:48:30  profilanswer
 

art_dupond a écrit :

le monsieur il a dit qu'il ne pouvait pas toucher au php.ini (pas de ini_set, ...) ;)

Code :
  1. <?php echo '<?xml'; ?>


 
EDIT: oups j'ai rien dit, j'avais pas vu "y a-t-il une astuce autre que" :whistle:


Message édité par soju le 23-11-2005 à 16:55:37
n°1251662
omega2
Posté le 23-11-2005 à 17:07:58  profilanswer
 

Et si t'apellais un fichier php qui lira simplement le fichier xml généré et l'envoie tel quel au programme distant?

n°1251707
sub1
Posté le 23-11-2005 à 17:24:11  profilanswer
 

art_dupond a écrit :

le monsieur il a dit qu'il ne pouvait pas toucher au php.ini (pas de ini_set, ...) ;)


 
 
ini_set c'est justement quand tu ne peux pas toucher au php.ini. Ca s'utilise dans le contexte d'un vhost ou d'un .htaccess.

mood
Publicité
Posté le 23-11-2005 à 17:24:11  profilanswer
 

n°1251776
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 18:59:08  profilanswer
 

omega2 a écrit :

Et si t'apellais un fichier php qui lira simplement le fichier xml généré et l'envoie tel quel au programme distant?


 
vous pouvez répéter la question ?
 
Je ne comprends pas comment faire ca...  
 
Si ca peut aider, mon xml est le layout de ma page.  
 
De ce layout.xml, je fais un <? include($modules); ?> => ce fichier s'appelle layout.xml.php => ca gueule parce que j'ai ma première ligne qui commence par <?xml
 
si je fais lire le fichier par un script, il n'interprètera pas mon include. Si ?
 

sub1 a écrit :

ini_set c'est justement quand tu ne peux pas toucher au php.ini. Ca s'utilise dans le contexte d'un vhost ou d'un .htaccess.


 
Je ne peux PAS changer les valeurs du php.ini

n°1251782
omega2
Posté le 23-11-2005 à 19:07:17  profilanswer
 

evidement qu'il faut pas faire avec un include, mais t'as le choix :


Tu peux même t'amuser avec les fonctions xml de php mais dans le cas présent, ca serait totalement débile vu que t'as l'air de dire que t'as le fichier xml final déjà existant sur le disque dur.


Message édité par omega2 le 23-11-2005 à 19:08:58
n°1251847
art_dupond
je suis neuneu... oui oui !!
Posté le 23-11-2005 à 20:32:55  profilanswer
 

je me suis mal exprimé.
 
layout.xml:
 

Code :
  1. <?xml version="1.0"?>
  2. <manger>
  3.    <gato>
  4.        miam
  5.    </gato>
  6.    <dessert>
  7.       <? include('dessert.php'); ?>
  8.    </dessert>
  9. </manger>


 
 
donc il faut que le fichier soit interprèté par le php pour qu'il fasse l'include.
 
Je pourrais aussi faire l'include avec DOM, mais je me suis dit (peut etre à tord)  que ce serait plus léger comme ca.
 
 
Je vais faire un autre post pour voir ce qui est mieux :)
 
 
 
edit : http://forum.hardware.fr/hardwaref [...] 0645-1.htm


Message édité par art_dupond le 23-11-2005 à 20:39:25
n°1252029
omega2
Posté le 24-11-2005 à 08:37:48  profilanswer
 

Alors fait ce que t'as dit Elianor dans la premiére réponse que t'as eu. C'est quand même pas si compliqué que ça.

n°1252233
art_dupond
je suis neuneu... oui oui !!
Posté le 24-11-2005 à 13:50:54  profilanswer
 

argheuh...
 
 
quand j'applique le xsl sur le xml, j'obtiens un fichier xml qui contient DEJA <?xml version="1.0"?>
 
donc il faut que je modifie la chaine, ou que je m'arrange pour qu'elle apparaisse sous la forme proposée


Message édité par art_dupond le 24-11-2005 à 13:51:24

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

  xml et <?

 

Sujets relatifs
Plus de sujets relatifs à : xml et <?


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