我必须根据ip获取移动国家代码, 对于印度=> 91,英格兰=> 41等我使用下面的代码,但它不起作用。
代码,
$ip = $_SERVER['REMOTE_ADDR'];
$data = file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip);
$data = json_decode($data);
答案 0 :(得分:0)
提供以下回复
$ip = $_SERVER['REMOTE_ADDR'];
$data = file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip);
$data = json_decode($data);
print_($data);
Repsone
{
["geoplugin_request"]=>
string(13) "XX.XX.XX.XXX"
["geoplugin_status"]=>
int(200)
["geoplugin_credit"]=>
string(143) "Some of the returned data includes GeoLite data created by MaxMind, available from <a href='http://www.maxmind.com'>http://www.maxmind.com</a>."
["geoplugin_city"]=>
string(9) "New Delhi"
["geoplugin_region"]=>
string(5) "Delhi"
["geoplugin_areaCode"]=>
string(1) "0"
["geoplugin_dmaCode"]=>
string(1) "0"
["geoplugin_countryCode"]=>
string(2) "IN"
["geoplugin_countryName"]=>
string(5) "India"
["geoplugin_continentCode"]=>
string(2) "AS"
["geoplugin_latitude"]=>
string(4) "28.6"
["geoplugin_longitude"]=>
string(4) "77.2"
["geoplugin_regionCode"]=>
string(2) "07"
["geoplugin_regionName"]=>
string(5) "Delhi"
["geoplugin_currencyCode"]=>
string(3) "INR"
["geoplugin_currencySymbol"]=>
string(7) "₨"
["geoplugin_currencySymbol_UTF8"]=>
string(3) "₨"
["geoplugin_currencyConverter"]=>
float(64.1725)
}
从上面你会得到国家geoplugin_countryCode,它是iso代码,
一旦你有iso国家代码,你就可以轻松获得国家/地区拨号代码。 (保留dailing coutry代码和iso代码映射的数组) 示例
$ country = array('IN'=&gt; 91,......);
我希望这会有所帮助