检查 IP 国家并显示完整的国家名称
Check IP country and display full country name
我使用以下代码来检查用户 IP 的位置。
但这显示国家/地区 'US' 和 'UK'。
如何解决这个问题以显示完整的国家/地区名称?
喜欢 'United States' 和 'United Kingdom'?
CODE:
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
function ip_details($ip) {
$json = file_get_contents("http://ipinfo.io/{$ip}/json");
$details = json_decode($json, true);
return $details;
}
$details = ip_details($ipaddress);
echo $details['country'];
?>
您似乎在使用 ipinfo 的 API。
他们只为您提供简称。
但是,ipinfo's document说你可以使用"country.io"的数据来满足你的需要。
转换成php数组,就可以把US转美国了
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
$code = ["US" => "United States", "GB" => "United Kingdom"];
function ip_details($ip) {
$json = file_get_contents("http://ipinfo.io/{$ip}/json");
$details = json_decode($json, true);
return $details;
}
$details = ip_details($ipaddress);
if(array_key_exists($details['country'], $code)){
$details['country'] = $code[$details['country']];
}
echo $details['country'];
?>
我想你可以使用 checkgeoip.com。免费:
<?php
// set IP address and API key
$ip = '72.229.28.185';
$api_key = 'YOUR_API_KEY';
// Initialize CURL:
$ch = curl_init('https://api.checkgeoip.com/'.$ip.'?api_key='.$api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
$api_result = json_decode($json, true);
// Output the "city" object
echo $api_result['city'];
?>
我使用以下代码来检查用户 IP 的位置。 但这显示国家/地区 'US' 和 'UK'。
如何解决这个问题以显示完整的国家/地区名称? 喜欢 'United States' 和 'United Kingdom'?
CODE:
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
function ip_details($ip) {
$json = file_get_contents("http://ipinfo.io/{$ip}/json");
$details = json_decode($json, true);
return $details;
}
$details = ip_details($ipaddress);
echo $details['country'];
?>
您似乎在使用 ipinfo 的 API。
他们只为您提供简称。
但是,ipinfo's document说你可以使用"country.io"的数据来满足你的需要。
转换成php数组,就可以把US转美国了
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
$code = ["US" => "United States", "GB" => "United Kingdom"];
function ip_details($ip) {
$json = file_get_contents("http://ipinfo.io/{$ip}/json");
$details = json_decode($json, true);
return $details;
}
$details = ip_details($ipaddress);
if(array_key_exists($details['country'], $code)){
$details['country'] = $code[$details['country']];
}
echo $details['country'];
?>
我想你可以使用 checkgeoip.com。免费:
<?php
// set IP address and API key
$ip = '72.229.28.185';
$api_key = 'YOUR_API_KEY';
// Initialize CURL:
$ch = curl_init('https://api.checkgeoip.com/'.$ip.'?api_key='.$api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
$api_result = json_decode($json, true);
// Output the "city" object
echo $api_result['city'];
?>