Geolokalizacja w php
Pokażę jak w php określić położenia użytkownika na podstawie adresu IP oraz api api.hostip.info. Najpierw napiszmy prostą funkcję, która zwraca adres IP klienta.
function getIp()
{
    if(!empty($_SERVER['HTTP_CLIENT_IP']))
    {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }
    elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
Teraz skorzystamy z api, aby pobrać informacje o położeniu. Dane zwracane są
czystym tekstem. Na ostatnim listingu zaanalizujemy te dane.
Dane z api są zwracane w postaci:
Country: (Unknown Country?) (XX) City: (Unknown City?) Latitude: Longitude: IP: 123.233.158.23
$client_ip = getIp();
$loc = file_get_contents('http://api.hostip.info/get_html.php?ip='.$client_ip.'&position=true');
preg_match_all("|:([A-Za-z0-9-_()?!& ]+)\n|", $loc, $matches, PREG_SET_ORDER);
var_dump($matches);
Jak widać najpierw pobieramy IP klienta, potem łączymy się z api, a na koniec parsujemy zwrócony
wynik.		
		
		
		
		
		
		
		
	