file_get_content et &

admg
Invité n'ayant pas de compte PHPfrance

19 mai 2013, 19:10

Bonsoir,
J'imagine que mon problème a déjà été évoqué, cependant je n'ai pas réussi à trouver la solution malgré déjà quelques heures de recherche...
En fait je cherche à afficher sur ma page web le temps d'un trajet grâce à l'API google map avec cette fonction:
function getDistance($adresse1,$adresse2) {	
    	$url='http://maps.google.com/maps/api/directions/xml?language=fr&origin='.$adresse1.'&destination='.$adresse2.'&sensor=false';
	$xml=file_get_contents($url);
    	$root = simplexml_load_string($xml);
    	$duree=$root->route->leg->duration->value; 
	echo '<h1>'.$duree.'</h1>';
le soucis étant que file_get_contents() cherche à acceder à l'url mais sans remplacer les '$amp;' qui doivent être placés automatiquement, par des '&', ce qui fait que l'url n'est pas correcte.
Il s'agit surement d'un problème d'encodage, mais je m'y perd un peu (si ça peut aider, le fichier dans lequel se trouve cette fonction est enregistré en AINSI)

Merci d'avance pour le temps que vous prendrez pour me lire !
Cordialement,

Adrien.

Mammouth du PHP | 619 Messages

19 mai 2013, 22:46

Bonjour,

si le fichier et bien au format xml pourquoi utiliser file_get_contents ?

sinon il suffi de faire un replace sur $xml juste après le file_get_contents

admg
Invité n'ayant pas de compte PHPfrance

20 mai 2013, 01:26

Bonsoir, merci pour votre réponse,
en fait je m'étais focalisé sur l'histoire des & mais le soucis était que j'avais une mauvaise syntaxe dans "$adresse1"...
si le fichier et bien au format xml pourquoi utiliser file_get_contents ?
J'ai récupéré cette fonction sur le forum de google dédié à l'API en question, mais s'il y a une autre méthode (a priori meilleure ?) je suis preneur !

Le fichier est bien au format xml, par exemple : http://maps.google.com/maps/api/directi ... nsor=false

En tout cas, mon problème initial est reglé ! (dans ce cas de figure, je supprime le thread ou je le passe en résolu ? je doute qu'il puisse être utile à quelqu'un vu que c'était une erreur d’inattention de ma part ??)

Mammouth du PHP | 2278 Messages

20 mai 2013, 09:08

Bjr,mets-le en résolu en indiquant clairement ta solution.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 353 Messages

20 mai 2013, 09:37

Plutôt que d'utiliser file_get_contents() puis simplexml_load_string(), utilise directement simplexml_load_file().