Luc*_*ord 2 php ip file geolocation
我试图使用hostip来保存到DB用户的一般区域/位置,根据IP地址.但是我不确定如何解析我收到的输出中的数据.
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$data = json_decode(file_get_contents("http://api.hostip.info/get_html.php?ip=$ip")); //<-not sure how
$country = $data['Country'];
$city = $data['City'];
?>
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到我如何收到数据:http: //api.hostip.info/get_html.php?ip = 00.0.00.00
另一种选择是在这里使用第一个答案(使用ipinfodb):从PHP获取IP的位置详细信息,但它甚至不显示任何数据,即使我尝试在URL中插入我的IP,更不用说解析结果了,所以我改变了以上.
因此,根据ipinfodb,您必须注册API密钥.但他们有一个API类,getCountry($host)在您提供protected $apiKey = '';API密钥后,它将获得IP的国家/地区.或者,如果您不想使用它,则可以使用其XML或其JSON API.
更新1
或者,如果这对您来说太难了,那么请在其他服务的换行符分隔符(\n)上使用explode.或者,也许使用其他服务.
更新2
似乎您链接的问题中提到的geoPlugin不需要API密钥.他们使用的代码是echo var_export(unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip)));.