我使用以下代码获取国家和城市名称
<?php
$user_ip= getenv('REMOTE_ADDR');
$geo= unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
$city= $geo["geoplugin_city"];
$country= $geo["geoplugin_countryName"];
?>
当我回音它打印国家名称但是对于城市它说
Undefined index: geoplugin_city
使用var_dump
$geo
我在数组中获得[geoplugin_city]
但是当我var_dump($city) i get null
请帮我解决这个问题
这是我的var_dump($ geo)结果
Array ( [geoplugin_request] => 83.110.15.6
[geoplugin_status] => 206
[geoplugin_credit] => Some of the returned data includes GeoLite
data created by MaxMind, available
from http://www.maxmind.com.
[geoplugin_city] =>
[geoplugin_region] =>
[geoplugin_areaCode] => 0
[geoplugin_dmaCode] => 0
[geoplugin_countryCode] => AE
[geoplugin_countryName] => United Arab Emirates
[geoplugin_continentCode] => AS
[geoplugin_latitude] => 24
[geoplugin_longitude] => 54
[geoplugin_regionCode] =>
[geoplugin_regionName] =>
[geoplugin_currencyCode] => AED
[geoplugin_currencySymbol] => Dh
[geoplugin_currencySymbol_UTF8] => Dh
[geoplugin_currencyConverter] => 3.6719 )
答案 0 :(得分:1)
会发生这种情况,因为GeoPlugin
会让您状态200 ,这意味着您所在国家/地区无法使用城市信息。
如果你试试这个IP就好了: 119.30.127.20(巴基斯坦)
如果城市和州字段为空,它会返回status 200
。
但是当您尝试此IP时:168.143.160.187(美国)
它会向您status 206
返回城市和州信息。
以下是状态索引:
[geoplugin_status] => 200
有关详细信息,请访问GeoPlugin Web Services并查看您所在国家/地区的信息,了解是否提供了城市级信息。
<强>更新强>
GeoPlugin仅为阿联酋提供 3%城市级信息