How to get country name from an IP address using PHP without using a commercial GeoIP Region Edition?
Code
$json = file_get_contents('http://freegeoip.appspot.com/json/66.102.13.106');
$expression = json_decode($json);
print_r($expression);
Result
stdClass Object
(
[status] => 1
[ip] => 66.102.13.106
[countrycode] => US
[countryname] => United States
[regioncode] => CA
[regionname] => California
[city] => Mountain View
[zipcode] => 94043
[latitude] => 37.4192
[longitude] => -122.057
)
To get countryname
echo $expression->countryname;
Result
United States
I don't think you can do it simply using PHP, but I have found a free API solution that you can use. It requires simple post and response. http://www.hostip.info/use.html
example post: http://api.hostip.info/get_html.php?ip=12.215.42.19
example response: Country: UNITED STATES (US) City: Sugar Grove, IL
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With