Domanda

Come puoi applicare uno stile americano per le persone negli Stati Uniti e uno stile britannico per le persone nel Regno Unito?

Ad esempio, voglio cambiare un flag in base alla posizione dell'utente nel mio sito.

È stato utile?

Soluzione

Innanzitutto, devi trovare l'indirizzo IP del tuo visitatore. Sarà nella variabile globale $ _SERVER ['REMOTE_ADDR']. È quindi possibile cercare questo IP in un database di mappature IP per paese per ottenere il codice paese per l'IP.

Questo metodo non è preciso al 100%, ma è "abbastanza buono" per la maggior parte degli usi e, soprattutto, è veloce. Probabilmente vorrai memorizzare nella cache il codice paese in un cookie per evitare ricerche ripetute, se prevedi un traffico elevato.

Una tale mappatura può essere trovata qui: http://software77.net/cgi-bin/ip-country/ geo-ip.pl

Una classe PHP che accetta un IP e restituisce un codice paese utilizzando un file di mapping in bundle: http://www.phpclasses.org/browse/package/2363.html

Altri suggerimenti

Se desideri davvero la posizione dell'utente, la parola chiave è geolocalizzazione .

Per il tuo scopo, tuttavia, puoi semplicemente selezionare $ _SERVER [" ACCEPT_LANGUAGE "] . La sintassi è un po 'complessa. Fortunatamente, praticamente ogni cliente fa quello che avrebbe dovuto essere fatto immediatamente e ordina le posizioni preferite. Quindi, calcola stripos ($ _SERVER [" ACCEPT_LANGUAGE "], $ lang) per tutte le versioni locali $ lang (come " en-us ") supportate e prendete le versioni più basse, scartando quelle che producono false.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top