[XML & PHP] Hébérgeur spéciaux?

deadlife77 -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

Voici mon problème, je débute un peu dans le php (enfin, je patauge encore on va dire) et dans le XML, et je voulais récupérer les attributs d'une node (je crois que c'est comme ça qu'on appelle ça ^^') avec simplexml_load_file().

J'ai réussi assez facilement avec wampserver en local, et là, dés que j'ai uploadé mon fichier php sur mon ftp (0fees.net), et bien il ne marchait plus : une page toute blanche. Et j'ai beau relire et relire le code, je ne vois vraiment pas d'erreur...

Donc je commence à me demander si certains hébergeurs pouvaient "refuser" simplexml_load_file() ??

Voilà merci d'avance!

PS : si vous voulez je vous montre le code, mais je sais pas si c'est nécessaire par rapport à ma question. :)


A voir également:

19 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

Pour utiliser libxml (extension qui contient les fonctions SimpleXML), le serveur doit utiliser PHP en version 5.

Certains hébergeurs se mettent par défaut en PHP4, mais on peut passer en PHP5 via un .htaccess ou via le panel.
0
Twinpics
 
Bonsoir,
Compare le fichier php.ini que tu as en local avec celui de ton hébergeur, je pense que tu trouveras facilement réponse à ton interrogation car SimpleXML est un module :-)
-------------------------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-BouC *>
0
deadlife77
 
Ah ouiii c'est vrai quelle nouille --'

Bah merci Twinpics et Avion-f16 :)

Mais comment modifier la version de PHP?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
« Mais comment modifier la version de PHP? »
Regarde dans la FAQ de ton hébergeur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
deadlife77
 
Hmmm... à vrai dire je ne la trouve pas et mon hébergeur étant en anglais, tant bien même je la trouverai, je suis pas sur que je comprendrai tout :/
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Quel est son nom ?
0
deadlife77
 
0fees.net ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Apparemment il n'offre que du PHP5.
Si tu commentes toutes les lignes utilisant les fonctions SimpleXML, est-ce tu retrouves de nouveau ta page ?
0
deadlife77
 
euh... je suis pas sur d'avoir tout compris ^^'

Sinon, voici mon code, si ça peut m'aider à comprendre ce que je dois faire :)

(le fichier XML est généré par un autre site, ce n'est pas moi qui l'ai fait)
<?php

$xml = simplexml_load_file('file.xml'');
foreach($xml->data->attributes() as $att => $value) 
{
if($att == 'city'){echo 'Ville : '.$value.'';}
if($att == 'door'){if ($value == 1){echo '<img src="http://www.hordes.fr/gfx/forum/smiley/h_door.gif"/>Les portes sont ouvertes!<br>';} if($value == 0) {echo '<img src="http://www.hordes.fr/gfx/forum/smiley/h_door.gif"/>Les portes sont fermées<br>';}}
if($att == 'water'){echo '<img src="http://www.hordes.fr/gfx/forum/smiley/h_well.gif"/>il y a '.$value.' rations d\'eau en banque<br>';}
if($att == 'hard'){if ($value == 1){echo '<img src="http://data.hordes.fr/gfx/icons/small_arma.gif"/>La ville est en pendemonium!<br>';}}
if($att == 'x'){echo '<img src="http://data.hordes.fr/gfx/icons/item_map.gif"/>La ville est en ['.$value.';';}
if($att == 'y'){echo ''.$value.'].';}
}
?>


(désolé comme dit dans le premier post je patauge un peu)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Ça comme déjà mal :
$xml = simplexml_load_file('file.xml'');
Avant la fermeture de la parenthèse, les deux apostrophes posent problème : il n'en faut qu'un.

Si aucune erreur s'est affichée à cause de cette erreur de syntaxe, vérifie que l'option display_errors soit activée.
<?php
echo ini_get('display_errors') ? 'Ok' : 'Pas Ok';

Si l'option est désactivée, ajoute ceci dans tes scripts, au début :
ini_set('display_errors', 1);


if($att == 'city'){echo 'Ville : '.$value.'';}
Ici, « .'' » est inutile.
0
deadlife77
 
oh pour le premier truc du '' en fait c'est quand j'ai copié collé le code j'ai changé le nom du fichier xml, sinon dans le code original il n'y a pas ça désolé de l'erreur.

Par contre je ne savais pas pour le '.$value.''

mais comment faire pour "passer à php5" avec l'hébergeur?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Je pense que par défaut tu es déjà en PHP5.
Utilise la fonction phpversion() pour le savoir.
0
deadlife77
 
c'est la version 5.2.12. Donc je comprends pas pourquoi ça veut pas lire le simplexml_load_file(), pourtant, j'ai essayé de faire phpinfo(), pour simpleXML, ils me disent que "schema support = enabled"...

Là je suis complètement pommé :(
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Contacte-les ou bien essaye avec DOM, c'est aussi simple.
0
deadlife77
 
erk je galère là o.o

je vais sur php.net, j'utilise la fonction domxml_open_file() comme c'est écrit et en local ça me dit que la fonction n'existe pas....

désolé d'être aussi dur à la compréhension... ^^'
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Remplace $xml = simplexml_load_file('file.xml');
Par $xml = new SimpleXMLElement('file.xml', null, true);
0
deadlife77
 
ça marche en local mais ça marche toujours pas sur le site :( Toujours cette même page blanche...
0
deadlife77
 
up!
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Essaye avec DOM.
0