How to find country using IP address in PHP?
ip, php
Solution
use this API http://ipinfo.io
function ip_details($IPaddress)
{
$json = file_get_contents("http://ipinfo.io/{$IPaddress}");
$details = json_decode($json);
return $details;
}
$IPaddress = $_SERVER['REMOTE_ADDR'];
$details = ip_details("$IPaddress");
//echo $details->city; #Tamilnadu
//echo $details->country;
//echo $details->org;
//echo $details->hostname;
Problem
I have IP ranges of the country. And I am checking the the user IP address within this ranges if true then he is able to see the site otherwise he wont. I have use following code, ``` $ip = $_SERVER['REMOTE_ADDR']; if(ip2long($ip) >= $ipstart && ip2long($ip) <= $ipend){ return true; } ``` My question is that if somebody comes from different country suppose ABC with his laptop/notebook to another country suppose XYZ then will above code works? on the same laptop. How will it be possible for the above scenario for ipv4 and ipv6? [EDIT] Which IP address `$_SERVER['REMOTE_ADDR']` fetch, will it be the machine IP or the connection IP, so that we can know that he now in this country? Thanks