2009-03-06 9 views

Antwort

4

Zuerst müssen Sie die IP-Adresse Ihres Besuchers finden. Es wird in der globalen Variable $ _SERVER ['REMOTE_ADDR'] sein. Sie können diese IP-Adresse dann mit einer Datenbank von IP-Länderzuordnungen vergleichen, um den Ländercode für die IP-Adresse zu erhalten.

Diese Methode ist nicht 100% genau, aber sie ist für die meisten Anwendungen "gut genug" und, was noch wichtiger ist, sie ist schnell. Wahrscheinlich möchten Sie den Ländercode in einem Cookie zwischenspeichern, um wiederholte Suchvorgänge zu vermeiden, wenn Sie hohe Zugriffszahlen erwarten.

Eine solche Zuordnung kann hier gefunden werden: http://software77.net/cgi-bin/ip-country/geo-ip.pl

Ein PHP-Klasse, die eine IP und gibt einen Ländercode mit einer gebündelten Zuordnungsdatei nimmt: broken http://www.phpclasses.org/browse/package/2363.html

1

Wenn Sie wirklich die Position des Benutzers möchten, ist das Schlüsselwort geolocation.

Für Ihren Zweck können Sie jedoch einfach $_SERVER["ACCEPT_LANGUAGE"] überprüfen. Die syntax ist ein bisschen komplex. Glücklicherweise tut praktisch jeder Kunde, was sofort erledigt werden sollte und bestellt die bevorzugten Standorte. Berechnen Sie also stripos($_SERVER["ACCEPT_LANGUAGE"], $lang) für alle Gebietsschemas $lang (wie "en-us"), die Sie unterstützen, und nehmen Sie die niedrigsten, verwerfen Gebietsschemas, die false ergeben.

Verwandte Themen