Un semplice esempio di geo-tagging
Posted Febbraio 28th, 2007 by adminper Geotagging si intende il processo di aggiunta di una identificazione geografica ai dati (o metadati).
Quello che faremo però sarà un semplice sistema che sfruttando le API di HostIp ci fornirà le informazioni riguardo la nazione e la città dei visitatori del nostro sito web.
Gli ingredienti necessari sono:
- PHP
- Web server per provare il nostro script
- Le API di HostIp reperibili qui
- Un editor di testo
- Sale e pepe quanto basta
Cominciamo da HostIp, è un progetto nato al fine di geo-localizzare gli ip il cui database è disponibili al pubblico tramite l’utilizzo di semplici API.
Vogliamo quindi realizzare un script che ci indichi la provenienza del nostro visitatore, quindi per prima cosa ci serve conoscere il suo ip, niente di più semplice
$ip=$_SERVER['REMOTE_ADDR'];
poi se avete dato un occhiata alle API avrete notato come HostIp costruisce un URL del tipo http://api.hostip.info/get_html.php?ip= indirizzo del client.
Quindi costruiamo l’URL e la mettiamo in una variabile
$url = "http://www.hostip.info/api/get.html?ip=".$ip;
vi sembrerà strano ma il più è fatto, ora ci basta acquisire il contenuto della nostra URL in un vettore i cui elementi sono una riga del file tramite la funzione file (che fantasia)
$result = file($url);
e adesso stampiamo il tutto con un ciclo
foreach($result as $line_num=>$line){
echo ($line."<br/>");
}
Questo potrebbe già bastare in quanto mostra Nazione e Città del client (anche se a volte il risultato non è proprio preciso) ma possiamo aggiungere qualcosina, come ad esempio visualizzare la bandiera della nazione.
HostIp fornisce un semplice meccanismo per far questo sempre sottoforma di un URL costruita ad-hoc del tipo http://api.hostip.info/flag.php?ip= indirizzo del visitatore.
Quindi creiamo un immagine con il <img> e all’attributo src diamo l’URL con l’ip che ci interessa
echo("<A href=\"http://www.hostip.info\">");
echo("<IMG src=\"http://api.hostip.info/flag.php?ip=".$ip."ALT=\"IP Address Lookup\">");
echo("</A>");
Ed ecco qui un esempio.
Davvero semplice, nel prossimo tutorial spero di poter mostrare come ottenere anche longitudine e latitudine per visualizzare la posizione all’interno di Google Maps, quindi alla prossima!
Ma avrà mica a che fare con?
Leave a Reply