- file_get_contents: documentation ( source)
- json_decode: documentation ( source)
- filter_var: documentation ( source)
<?php function getUserIP() { $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $ipAddr = getUserIP(); $geoIP = json_decode(file_get_contents("http://freegeoip.net/json/$ipAddr"), true); echo 'lat: ' . $geoIP['latitude'] . '<br />'; echo 'long: ' . $geoIP['longitude'];
?>