我想,以保存到数据库用户的一般面积/位置使用主机IP,按IP地址。但我不知道如何解析我收到的输出中的数据。保存位置为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'];
?>
这里你可以看到我是如何接收数据: http://api.hostip.info/get_html.php?ip=00.0.00.00
另一种选择是,在这里使用的第一个答案(使用ipinfodb):Getting location details from IP in PHP,但它甚至不显示任何数据,即使我尝试在URL中插入我的IP,更不用说解析结果了,所以我改为上面的。
好吧,现在我试过了,但它仍然是不工作...我使用与上面相同的代码进行以下更改:'$ iplookup =“http://api.ipinfodb.com/v3/ip-city/?key=&ip = $ ip”; $ data = json_decode(file_get_contents($ iplookup)); $ country = $ data ['CountryCode']; $ city = $ data ['CityName']; '但我仍然没有收到数据。只有“O”和“O”为每个 –
2012-01-30 19:43:53
尝试geoPlugin,这似乎为我工作。 – axiomer 2012-01-30 19:48:33
好吧,我现在试过,但它仍然不工作......这是我使用的代码:'$ data = var_export(unserialize(file_get_contents(“http://www.geoplugin.net/php.gp ?IP = $ IP“))); $ country = $ data ['geoplugin_countryCode']; $ data = unserialize(file_get_contents(“http://www.geoplugin.net/php.gp?ip=”。$ ip));} $ city = $ data ['geoplugin_city'];' – 2012-01-30 19:55:16