2009-03-06 4 views

Répondre

4

D'abord, vous devez trouver l'adresse IP de votre visiteur. Ce sera dans la variable globale $ _SERVER ['REMOTE_ADDR']. Vous pouvez ensuite comparer cette adresse IP avec une base de données IP aux mappages de pays pour obtenir le code de pays de la propriété intellectuelle.

Cette méthode n'est pas fiable à 100%, mais elle est "assez bonne" pour la plupart des utilisations, et surtout elle est rapide. Vous souhaiterez probablement mettre en cache le code de pays dans un cookie pour éviter les recherches répétées, si vous vous attendez à un trafic élevé.

Un tel mapping peut être trouvé ici: http://software77.net/cgi-bin/ip-country/geo-ip.pl

Une classe PHP qui prend une adresse IP et renvoie un code de pays en utilisant un fichier de mappage fourni: http://www.phpclasses.org/browse/package/2363.html

1

Si vous voulez vraiment l'emplacement de l'utilisateur, le mot-clé est geolocation.

Pour votre usage, cependant, vous pouvez simplement vérifier $_SERVER["ACCEPT_LANGUAGE"]. Le syntax est un peu complexe. Heureusement, pratiquement chaque client fait ce qui aurait dû être fait tout de suite et ordonne les endroits préférés. Par conséquent, calculez stripos($_SERVER["ACCEPT_LANGUAGE"], $lang) pour tous les paramètres régionaux $lang (comme "en-us") que vous prenez en charge et utilisez les paramètres régionaux les plus faibles qui soient faux.

Questions connexes