Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Localiser une adresse IP en PHP

obama

Petite astuce plutôt sympathique si vous voulez intégrer la géolocalisation d’IP sur votre site… Il suffit de récupérer la base Mysql ou CSV sur ce site… Puis ensuite, avec un petit coup de PHP, il suffit de transformer votre ip A.B.C.D comme ceci :

ip = (A*256+B)*256+C
(en partant du principe que toutes les ip A.B.C.X sont au même endroit)

Si par exemple votre ip est 82.241.214.125,la formule magique donnera :

ip = (82*256+241)*256+214

ip = 5435862

Et ensuite dans la base, il suffit de faire un petit select comme ceci :

SELECT * FROM `ip_group_city` where `ip_start` <= 5435862 order by ip_start desc limit 1;

Afin de récupérer une réponse comme ceci sous forme de tableau : ip_transformée|code_pays|code_region|ville|code_postal|latitude|longitude
Ce qui donnera pour moi : 5435862|FR|B9|Dardilly|*pas de code postal*|45.8|4.7332

(je vous rassure, c’est pas là que j’habite, j’ai testé avec une ip au pif…)

Je trouve ça super pratique comme système. Le gars propose les bases régulièrement mis à jour ainsi qu’un webservice si vous ne souhaitez pas tout stocker en local chez vous. Bref, une super page à lire !

[source et photo]


Les articles du moment