Avoir l'indicatif téléphonique à partir des propriétés local

Eléphanteau du PHP | 41 Messages

21 juil. 2011, 23:51

Bonjour,

Je recherche une manière d'obtenir l'indicatif téléphonique du pays de l'internaute.
Il me faudrait une fonction qui par exemple pour un visiteur français renvoit +33
Est-ce possible de faire cela grace au informations sur la localisation de l'internaute que communique les variables globales de PHP ?

Merci d'avance

Eléphant du PHP | 171 Messages

22 juil. 2011, 03:07

Ben grâce à l'IP du visiteur tu peux essayé de le situé, je dis "essayé" car celui ci peut être derrière un proxy.
Tu prends cet IP, t'interroges un système de WHOIS qui pourra te retourner le pays localisé. Puis ensuite avec le pays tu vas chercher l'indicatif que tu auras stocké au préalable dans ta base de données correspondant au pays du visiteur.

Pour les indicatifs : http://fr.wikipedia.org/wiki/Liste_des_ ... x_par_pays

Pour y stocker facilement dans ta DB si tu en as une, tu n'as qu'a prendre la table qui est sur la page, tu la copie dans une de tes pages à toi, tu te fais un petit script pour le parcourir qui récupère nom du pays + indicatif et qui le stocke en base. Sur un tableau, c'est pas trop chiant à faire.

Si tu as pas de base de données, tu dois effectuer le travail de parsage du tableau à chaque fois que tu voudras savoir l'indicatif du visiteur, et donc le temps de traitement se verra tout de suite augmenté.

Pour le système de WHOIS il existe des classes et autre API qui permettent d'obtenir les informations.
Le bon jugement s'apprend par l'expérience qui s'acquiert en partie par le mauvais jugement.

Eléphanteau du PHP | 41 Messages

22 juil. 2011, 19:41

J'y avais déjà songé mais le soucis est qu'il faut que le nom du pays retourné par PHP soit le même que celui stocké en BDD et ça, ça n'est pas toujours le cas. Je l'ai ferais bien un par un mais il y en a 166 que je dois indexer.
Du coup est ce que quelqu'un ne connais pas un endroit où on peut avoir un tableau reliant le nom de pays au format PHP et l'indicatif ?