Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2007, 13h58   #1
Futur Membre du Club
 
Inscription : mai 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 129
Points : 15
Points : 15
Par défaut [CSV] extraire latitude/longitude de google map

bonjour
je voudrais savoir comment on peut extraire les coordonnées latitude longitude retournées par google map lorsqu'on interroge l'url correspondant à une adresse.
exemple :
http://maps.google.com/maps/geo?q=75..._eu3bNbEGnk_PA
me renvoie 200,5,48.875947,2.362394.

je voudrais extraire les valeurs 48.875947 et 2.362394 et les mettre dans une variable php ou les insérer dans une table mysql.
savez vous comment faire? merci
arnogef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 16h32   #2
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
C'est très simple à faire :
Code php :
1
2
3
4
5
6
7
 
<?php
$tachaine = "200,5,48.875947,2.362394";
list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
echo "Latitude : $latitude;<br />\n";
echo "Longitude : $longitude;\n";
?>
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 16h52   #3
Futur Membre du Club
 
Inscription : mai 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 129
Points : 15
Points : 15
oui mais comment récuperer $tachaine? telle est la question...
arnogef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 17h19   #4
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
En clair il faut te macher le travail
Code php :
1
2
3
4
5
6
<?php
$tachaine = filegetcontents("http://tonadresse.com");
list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
echo "Latitude : $latitude;<br />\n";
echo "Longitude : $longitude;\n";
?>
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 18h07   #5
Membre actif
 
Étudiant
Inscription : août 2005
Messages : 161
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 161
Points : 170
Points : 170
Si les premières valeurs ne t'intéressent pas tu peux faire comme ça.
Code :
list ( , , $latitude, $longitude) = split (",", $tachaine, 4);
poof65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 18h47   #6
Futur Membre du Club
 
Inscription : mai 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 129
Points : 15
Points : 15
merci pour la réponse
je ne connaissais pas filegetcontents
par contre il ne semble par reconnaitre cette fonction : j'ai le message
"Fatal error: Call to undefined function: filegetcontents() "
j'utilise easyphp, faut il ajouter une extension php spéciale?

Merci

Arnaud
arnogef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 18h58   #7
Membre confirmé
 
Avatar de mussara
 
Inscription : novembre 2004
Messages : 441
Détails du profil
Informations personnelles :
Âge : 44

Informations forums :
Inscription : novembre 2004
Messages : 441
Points : 299
Points : 299
c'est ton hébergeur qui a dû te supprimer l'activation de file_get_contents
car ça peut amener des failles de sécurité...

par contre je ne vois pas trop comment résoudre ton problème de récupèration des 2 variables sans cette commande...
mussara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 19h14   #8
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
en utilisant les alternatives à file_get_contents :
- curl
- snoopy
- sockets
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 22h03   #9
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
S'il utilise EasyPHP c'est que l'hébergeur c'est lui même !
A lui de l'activer...
Maintenant tu peux utiliser fgets() ou fread() ou encore avec PHP5 stream_get_contents()
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 11h42   #10
Futur Membre du Club
 
Inscription : mai 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 129
Points : 15
Points : 15
en fait j'avais mis filegetcontents et non file_get_contents ca doit etre pour ca..car sur easyphp c'est une fonction standard.
Par contre j'ai maintenant le message d'erreur


Warning: file_get_contents(http://maps.google.com/maps/geo?q=75...u3bNbEGnk_PA): failed to open stream: Bad file descriptor in d:\test\index.php on line 22
(sachant que la ligne 22 correspond au file_get_contents)
Est ce que j'utilise mal cette fonction?

j'ai utilisé le code de blueice

Code :
1
2
3
4
5
6
<?php
$tachaine = file_get_contents("http://tonadresse.com");
list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
echo "Latitude : $latitude;<br />\n";
echo "Longitude : $longitude;\n";
?>
Merci
arnogef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 11h48   #11
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
EDIT : Si tu commencais par rentrer l'url correcte ! Regarde la fin de l'url...

Et teste ceci ca fonctionne parfaitement :
Code php :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
$url ="http://maps.google.com/maps/geo?q=75010+france&output=csv&key=ABQIAAAAal_cd43vOKPQhNkPDkwHgBQSXE4ITa1YzwIbIoQt-CisjCLm8xTJhtTXHvXoMcij_eu3bNbEGnk_PA";
$tachaine = file_get_contents($url);
if ($tachaine=="") { echo "Problème, chaîne vide"; }
else {
list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
echo "Latitude : $latitude;<br />\n";
echo "Longitude : $longitude;\n";
}
?>
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 11h51   #12
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
Je crois qu'il faut paramétrer le serveur pour qu'il accepte d'ouvrir des URL. C'est le cas avec fopen, en tout cas.
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h21   #13
Futur Membre du Club
 
Inscription : mai 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 129
Points : 15
Points : 15
@blueice : évidemment j'avais mis la bonne url
j'ai réessayé avec ton code et ca ne fonctionne pas:

Warning: file_get_contents(http://maps.google.com/maps/geo?q=75...u3bNbEGnk_PA): failed to open stream: Bad file descriptor in d:\test\index.php on line 9
Problème, chaîne vide

j'ai aussi essayé en mettant des guillemets :
$tachaine = file_get_contents('"' & $url & '"');
mais j'ai un autre message d'erreur :

Warning: file_get_contents( ): failed to open stream: Permission denied in d:\test\index.php on line 9
Problème, chaîne vide


A noter que le format de la chaine renvoyée par l'url est csv...je ne sais pas si ça a un rapport avec mon probleme?
arnogef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 13h32   #14
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
http://fr.php.net/file_get_contents
Et notamment :
Citation:
Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si l'option des "fopen wrappers" a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier et Annexe M, Liste des protocoles supportés pour une liste des protocoles URL supportés.
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 15h32   #15
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
Le code est correct, la preuve ici :
http://www.dimension-internet.com/dev/google.php

Par contre ton URL n'est pas correcte ! Je me répète !
Enlève le ): à la fin de l'adresse !
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h37.


 
 
 
 
Partenaires

Hébergement Web