Page 1 sur 1
récupérer fichier xml par http
Posté : 18 mai 2009, 12:35
par Invité
Bonjour à tous,
J'ai un fichier php qui renvoie des données xml.
Je crée un lien html vers le fichier php, comme ceci:
<a href="http://localhost/generateur_xml.php?param1=toto¶m2=tutu">voir le fichier xml</a>
Le lien marche bien et m'affiche un fichier xml dans le navigateur.
Mon problème: comment faire pour récupérer ce fichier xml dans une variable php aulieu de l'avoir directement dans le navigateur?
Merci pour vos réponses.
Posté : 18 mai 2009, 12:38
par geoffroy
$xml = file_get_contents( "http://localhost/generateur_xml.php?param1=toto¶m2=tutu" );
Posté : 18 mai 2009, 13:05
par Invité
apriori ça ne marche pas pour moi.
j'ai l'erreur
Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in
Warning: file_get_contents() failed to open stream: No error in...
Si j'ai bien compris, file get contents ne trouve pas le fichier alors que je l'ai sous les yeux quand je clique sur le même lien dans mon navigateur...
Posté : 18 mai 2009, 13:16
par geoffroy
J'avoue que je sèche un peu

.
Parce qu'un file_get_contents sur un fichier php, j'ai dit une connerie, ça renvoie le code php non interprété, à moins que tu passes par une requete HTTP à condition d'avoir Allow URL Fopen sur On.
Il faudrait que tui essaies depuis cURL.
Posté : 18 mai 2009, 13:39
par thehawk
il faudrait que tu regardes au niveau du php.ini
que : allow_url_fopen (quelques choses dans ce genre) soit a on
BOnne journée Hawk
Posté : 18 mai 2009, 13:44
par Invité
dans mon php.ini, il y a:
allow_url_fopen = On
Posté : 18 mai 2009, 13:45
par geoffroy
merci thehawk,
je m'emmelais les pinceaux là
j'éditais en même temps pour corriger mes conneries

.
Donc, en gros, si tu ne peux pas modifier ton php.ini,
tu peux passer par les fonctions curl.
Voilà, c'est plus clair là^^.
Posté : 18 mai 2009, 14:07
par geoffroy
Je ne comprends pas ...
Il va falloir attendre quelqu'un de plus calé.
Tu peux nous dire si ça marche quand tu fais par exemple :
<?php
$xml = file_get_contents( "http://www.php.net/feed.atom" );
echo( $xml );
?>
Posté : 18 mai 2009, 14:11
par Invité
oui, là ça marche. mais ton lien pointe directement vers un fichier xml.
Dans mon cas, le lien pointe vers un fichier php qui retourne un fichier xml.
Posté : 18 mai 2009, 15:55
par orgerix
Logiquement, ca devrait rien changer. Que le fichier XML soit en dur ou généré par un script PHP, ca ne change rien ensuite, c'est un fichier XML.
Posté : 18 mai 2009, 16:06
par geoffroy
Il a une erreur bizarre quand même ..
Et avec ça tu obtiens quoi :
Code : Tout sélectionner
<?php
$nom_fichier = "http://localhost/generateur_xml.php?param1=toto¶m2=tutu";
$fichier = fopen($nom_fichier, "r");
$xml = fread($fichier, 100000);
fclose($fichier);
echo $xml;
?>