Page 1 sur 1

simplexml_load_file : wrong path

Posté : 30 oct. 2005, 17:12
par Perfect Slayer
Bonjour à vous. Je suis nouveau ici (j'suis passé faire un p'tit tour dans les règles, la FAQ et les tutos avant pour voir si je trouvais qqchose).
Tout ça pour en arriver à ma question. Je n'arrive pas à charger un fichier xml généré par PHP. Voici le code :

Code : Tout sélectionner

If (!$xmlfile = Simplexml_Load_File('http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS')) { Echo "Accès aux données impossibles.."; Return; }
Mon code marche très bien en local mais pas sur mon serveur (tous 2 tournant sous PHP5). Pour plus d'informations, j'obtiens l'erreur :
Warning: simplexml_load_file(http://newbiecontest.n0ne.org/punbb/ext ... e&type=RSS) [function.simplexml-load-file]: failed to open stream: Connection timed out in /home/newbiecontest/www/content/mods/forum_act.php on line 39

Warning: Operation in progressI/O warning : failed to load external entity "http://newbiecontest.n0ne.org/punbb/ext ... e&type=RSS" in /home/newbiecontest/www/content/mods/forum_act.php on line 39
De meme si je mets un lien relatif avec "internal" à la place de "external". Voilà, je comprends pas trop d'où celà vient (peut-être des paramètres dans l'URL ?). Si quelqu'un avait une solution, merci de m'en faire part.

Posté : 30 oct. 2005, 17:14
par jeff
a tu verifier que ton serveur supporte simpleXml avec un phpinfo

Posté : 30 oct. 2005, 17:30
par Perfect Slayer
Normalement tout est bon. Voici ce qu'il me renvoit :
SimpleXML
Simplexml support enabled
Revision $Revision: 1.139.2.4 $
Schema support enabled

Posté : 30 oct. 2005, 17:36
par jeff
c'est peut etre une restriction de ton hebergeur
sinon essaye un ut8_encode sur ton url :? [/quote]

Posté : 30 oct. 2005, 17:41
par Perfect Slayer
Bah ca ne marche toujours pas..
Euh.. j'ai fait utF8_encode(). J'pense que c'est de ça dont tu voulais parler ?

Posté : 30 oct. 2005, 17:49
par jeff
j'ai trouver ca
Note : Libxml 2 supprime la protection des caractères des URI, alors si vous voulez passer par exemple b&c comme paramètre URI à a, vous devez appeler simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c')))
sur php.net :wink:

Posté : 30 oct. 2005, 18:00
par Perfect Slayer
Moi aussi j'ai vu ça. J'en ai déduit dans mon cas que je devais tenter

Code : Tout sélectionner

rawurlencode('http://newbiecontest.n0ne.org/punbb/extern.php?action='.urlencode('active&type=RSS')); ou meme rawurlencode('http://newbiecontest.n0ne.org/punbb/extern.php?action='.urlencode('active&').'type='.urlencode('RSS'))
Mais malheureusement, ca ne m'aide en rien.. PHP n'arrive toujours pas à charger le fichier.. :cry:

Posté : 30 oct. 2005, 18:02
par jeff
ou ca
$path=htmlspecialchars(('http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS');
If (!$xmlfile = Simplexml_Load_File($path')) {
   Echo "Accès aux données impossibles..";
   Return;
}

Posté : 30 oct. 2005, 18:07
par Perfect Slayer
ut8_encode n'est pas une fonction reconnue.. Donc j'ai rééssayé avec utf8_encode. J'ai ausssi retirer le petit apostrophe en trop mais niet.. ca ne me donne rien (j'avais déjà essayer je crois en plus..)
Si tu veux voir le phpinfo du serveur : http://newbiecontest.n0ne.org/phpinfo.php
Ca peut peut-être te servir mais je n'ai rien vu de bizarre.. :?

Posté : 30 oct. 2005, 18:11
par jeff
et ba ca depasse mes connaissances qui sont en outre pas tres elevé
mais par curiosite a tu essaye dom ou sax pour voir
ton fichier xml est peut etre pas tout a fait valide???ou autre :? :shock: :cry: :?:

Posté : 30 oct. 2005, 18:19
par Perfect Slayer
Il est générer par un forum punBB donc je pense qu'il est valide :P
Je n'ai pas essayer par SAX ou DOM.. Tu penses que je devrais ? C'est plus lourd non par contre ?

Posté : 30 oct. 2005, 20:31
par Perfect Slayer
J'ai du nouveau !! Apparement ca vient pas de la fonction XML.. J'ai essayé avec la fonction readfile() et file_gets_content() et je n'arrive pas à acceder au fichier..
Je comprends pas vraiment pourquoi ca me fait ca ? Un configuration du serveur qui serait pas bonne ?

Posté : 30 oct. 2005, 22:29
par Xenon_54
Est-ce que tu as l'erreur expliquée dans cet article?
http://www.phpfrance.com/forums/voir_sujet-7699.php

Posté : 30 oct. 2005, 22:33
par Perfect Slayer
Bah nan.. j'ai pas cette erreure là et dans le phpini j'ai :
Directive Local Value Master Value
allow_url_fopen On On