Salve ragazzi,
mi servirebbe uno script che permette la geolocalizzazione, non mi serve il comune o la via (anche perchè è semi-impossibile trovarli), mi basterebbe la provincia.
Qualcuno ha utilizzato/utilizza script di questo genere?
grazie.
Salve ragazzi,
mi servirebbe uno script che permette la geolocalizzazione, non mi serve il comune o la via (anche perchè è semi-impossibile trovarli), mi basterebbe la provincia.
Qualcuno ha utilizzato/utilizza script di questo genere?
grazie.
Possiamo intercettare l'IP di provenienza del visitatore e localizzare città e stato (regione) dell'utente. (ricordo che tale script non va usato per violazione) ma ti ho dato un idea
Lo script si appoggia a un servizio on line, http://ipinfodb.com/ip_locator.php, da cui possiamo (intervenendo sullo script presentato) ricavare anche latitudine, longitudine e hostname.
Questo il codice di base (per l'esecuzione è richiesto PHP 4 >= 4.0.2, PHP 5):
Codice PHP:
function detect_city($ip) {
$default = 'Roma, Lazio';
if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost')
$ip = '8.8.8.8';
$curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
$url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);
$ch = curl_init();
$curl_opt = array(
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => $curlopt_useragent,
CURLOPT_URL => $url,
CURLOPT_TIMEOUT => 1,
CURLOPT_REFERER => 'http://' . $_SERVER['HTTP_HOST'],
);
curl_setopt_array($ch, $curl_opt);
$content = curl_exec($ch);
if (!is_null($curl_info)) {
$curl_info = curl_getinfo($ch);
}
curl_close($ch);
if ( preg_match('{[*]City : ([^<]*)}i', $content, $regs) ) {
$city = $regs[1];
}
if ( preg_match('{[*]State/Province : ([^<]*)}i', $content, $regs) ) {
$state = $regs[1];
}
if( $city!='' && $state!='' ){
$location = $city . ', ' . $state;
return $location;
}else{
return $default;
}
}
$mio_ip = $_SERVER['REMOTE_ADDR'] ;
echo detect_city($mio_ip);
Io sono di Bergamo e questo script mi restituisce come output "Roma,Lazio"
ma infatti ti ho messo le sintassi sta a te modificarlo a tuo piacere
Si ma il problema è che lo script non funziona, io sono di Bergamo, non di Roma.
Capito il problema?
ripeto...devi modificarlo per far si che funzioni come vuoi te...
poi altra cosa... non ti dice chiaramente la posizione esatta ma dove ip e collegato al datacenter
Prova con le api di google maps. Sono disponibili in javascript ma non so se ci siano anche in php.
Il problema fondamentale sarebbe che la geolocalizzazione tramite l'indirizzo IP non è necessariamente il metodo più precisio. Nel tuo caso per esempio sembra che il tuo IP è stato registrato su Roma, anche se poi viene assegnato ai clienti di Bergamo.
Potresti provarlo con http://en.wikipedia.org/wiki/W3C_Geolocation_API ma anche qui l'IP viene usato come dato principale.
In breve, trovare la posizione del utente in modo automatico non è proprio sempre precisio (per esempio potrebbe usare un proxy o VPN) e spesso è meglio chiedere all'utente.
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook