Simplexml_load_file / probleme de chargement

PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007 - 30 oct. 2005 à 16:32
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 31 oct. 2005 à 20:22
Bonjour à vous. Je suis nouveau ici. Je n'arrive pas à charger un fichier xml généré par PHP. Voici le code :
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/extern.php?action=active&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/extern.php?action=active&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.

25 réponses

monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
30 oct. 2005 à 16:41
En lisant la doc je peux te proposer de mettre ça :

simplexml_load_file(rawurlencode('http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS'));



Mais je ne suis sûr de rien!
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 16:45
Nan, ca ne marche pas. J'ai moi aussi prit le temps de lire la documentation tu penses.. Le problème ne vient pas de là apparement..
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:12
Salut,



t'as essayé d'augmenter le temps alloué avec stream_set_timeout() ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:15
Je pense pas que ca vienne de là... La page reste déjà 30 secondes à
attendre alors que le xml fait que quelques lignes et le serveur a un
bon temps de latence.. Apparement, la fonction n'accepterait que les
extention .xml ? Est-ce possible ?

http://www.tm2s.clan.st
0

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

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:18
je ne pense pas. Au pire t'as la solution bourrin : ouvrir via un
fopen() ton fichier distant, et ensuite l'enregistrer sur ton disque
pour le parser ensuite (si vraiment tu n'arrives pas à trouver la cause
de l'erreur)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:20
Ouais, c'est ce que je suis en train d'essayer... un fichier avec
l'extention xml qui se fait traiter par apache (forcé par .htaccess) et
qui contient les fonctions php pour inclure le contenu de la page php
qui génère le xml.. un peu tordu comme truc..

Y a pas plus simple ??

http://www.tm2s.clan.st
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:23
bah ceci :



$fxml=file_get_contents('http://tonfichier','r');





$fichier=fopen('tonfichierxml.xml','w+');

fputs($fichier,$fxml);

fclose($fichier);



simple_xml_load_file('tonfichier.xml' blabla);

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:26
Arggh.. apparement le problème vient pas de la fonction XML.. j'arrive
pas nan plus à acceder au fichier (qui est sur mon serveur !) ni avec
la fonction file_get_contents() ni readfile().. Il reste 30 secs à
charger la page avant de me sortir une erreur..

Tu n'as pas une idée d'ou ca peut venir ?

http://www.tm2s.clan.st
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:27
j'ai pas précisé mais avec ces fonctions : j'ai l'erreur :

failed to open stream: Connection timed out

P.S. : désolé, j'ai pas trouvé de boutons pour éditer mon post :s

http://www.tm2s.clan.st
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:33
quel est le code de ta page ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:36
// Chargement du XML de punBB



$fichier = 'http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS';

echo file_get_contents($fichier_youpi,'r');

If (!$xmlfile = Simplexml_Load_File($fichier)) {

Echo "Acc&egrave;s aux donn&eacute;es impossibles..";

Return;

}



Sinon je viens de penser à quelque chose.. je sais que mon hébergeur à
bloqué les ping.. (qui se font sur le port 80). Peut-être que c'est à
cause de ça que Apache n'arrive pas à acceder au fichier ? Il est
bloqué lui aussi ?

Si tu veux essayer : http://www.n0ne.org (fait un ping et va sur le site.. tu verras qu'il l'a bloqué)

http://www.tm2s.clan.st
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:42
ouep le ping est refusé.



" echo file_get_contents($fichier_youpi,'r');"



file_get_contents ne prend qu'un seul argument (le nom du fichier).



$fichier = 'http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS';

echo file_get_contents($fichier);



fonctionne parfaitement chez moi donc ton problème doit venir d'ailleurs ;-)
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:45
Mais quand je le fais à partir de mon serveur ca marche moi aussi.. ce
n'est pas le problème.. Mais une fois le fichier sur le serveur, celà
ne marche plus.. Quelle config pourrait faire ça ?

http://www.tm2s.clan.st
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 19:48
quel est ton phpinfo ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
30 oct. 2005 à 19:50
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 20:24
Tout a l'air correct pourtant. Je ne vois pas désolé :-(

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 oct. 2005 à 22:25
Je crois surtout qu'il s'est mélangé les pinceaux.

http://newbiecontest.n0ne.org/punbb/extern.php?action=active&type=RSS
n'est PAS un fichier ! C'est une URL qui pointe sur un fichier.

Mais quel fichier ? ==> extern.php. Le reste ne sont que des variables.

Donc, dans ta page extern.php, tu dois avoir ca :

<?php

if ( isset($_GET['type']) && $_GET['type'] === 'RSS' ) {

// Code

}

?>

Bon, jusque la tout va bien (enfin j'espère). Maintenant, passons à la suite.

simplexml_load_file() a comme unique argument un nom de fichier. Donc
de ce fait, tu dois avoir un fichier .xml quelque part sur ton FTP.

<?php

$fichier = 'news.xml';

$xml = simplexml_load_file($fichier);

?>

Et la ca marche. Il suffit de mettre ce bout de code dans celui un peu plus haut, et zoup :)

Il ne te reste plus qu'à utiliser l'objet $xml. ( car la fonction simplexml_load_file() renvoit un objet ! ).



Voila voila !
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
31 oct. 2005 à 11:01
Le xml est généré par PHP.. Donc l'extention est .php. Apres, le code
marche parfaitement sur mon serveur et un autre hébergeur mais
malheuresement pas mon hébergeur principal.. Tout comme la fonction
readfile() et file_gets_content() qui me font un connection time out.

http://www.tm2s.clan.st
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
31 oct. 2005 à 11:52
idée comme ça : l'hébergeur a peut-être interdit la lecture de fichiers par http (si c'est possible)
0
PerfectSlayer Messages postés 30 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 29 août 2007
31 oct. 2005 à 12:23
Ouais mais dans le phpinfo tout à l'air normal...

je te redonne le lien

http://newbiecontest.n0ne.org/phpinfo.phphttp://www.tm2s.clan.st
0
Rejoignez-nous