Bienvenue Prénom - Déconnexion

Mot de passe oublié ?Accès membres : merci de vous identifier

BOURSE

RUBRIQUES

Journal du Net > Développeur > PHP > Récupérer des données géographiques
TUTORIEL/PRATIQUE
 

Récupérer des informations géographiques à partir de l'IP d'un utilisateur en PHP

L'extension PECL GeoIP permet d'exploiter les données géographiques fournies par l'adresse IP ou le hostname d'un utilisateur. Voici comment l'installer.

Publié le 09/06/2009

En savoir plus

 

Si vous désirez récupérer des informations géographiques à partir de l'adresse IP (ou du hostname) d'un utilisateur, vous pouvez utiliser les fonctions PHP fournies par l'extension PECL GeoIP. Voici comment l'installer sous Ubuntu.

 

La procédure d'installation sur une Ubuntu 8.04 se résume ainsi :

 $ sudo -s
# apt-get install build-essential php5-dev php5-cli libgeoip-dev libgeoip1 php-pear
# pecl install geoip


Si tout s'est bien passé :

 # echo "extension=geoip.so" >> /etc/php5/cli/php.ini


Si vous utilisez Apache comme serveur :

 # echo "extension=geoip.so" >> /etc/php5/apache2/php.ini


Il faut également installer la base GeoIPCity de Maxmind :

 # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
# mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat


Vous pouvez maintenant tester l'extension avec une ligne du genre[1] :

 $ echo "<?php var_dump(geoip_record_by_name('209.202.168.**'));"|php


Ça donne ici :

 array(11) { ["continent_code"]=>
 string(2) "NA"
 ["country_code"]=>
 string(2) "US"
 ["country_code3"]=>
 string(3) "USA"
 ["country_name"]=>
 string(13) "United States"
 ["region"]=>
 string(2) "NC"
 ["city"]=>
 string(4) "Cary"
 ["postal_code"]=>
 string(5) "27511"
 ["latitude"]=>
 float(35.7********)
 ["longitude"]=>
 float(-78.7*******)
 ["dma_code"]=>
 int(560)
 ["area_code"]=>
 int(919)
}

[1] J'ai volontairement masqué certaines informations pour d'évidentes raisons de confidentialité.

Article publié sous licence Creative Commons BY-NC-SA par Nicolas Perriault



Autour du même sujet
JDN Développeur Haut de page
A VOIR EGALEMENT

Sondage

Selon vous, les premières offres de développement multiplate-forme mobile sont-elles mûres ?

Tous les sondages