我想使用访问我网站的访问者的IP来实施位置跟踪器。 我使用以下代码:
<?php
error_reporting(E_ERROR | E_PARSE);
$info = file_get_contents("http://api.hostip.info/get_html.php");
$arr1 = preg_split("/[\s,]+/", "$info");
end($arr1);
$z = prev($arr1);
$geoplugin = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip=$z') );
$loc = $geoplugin['geoplugin_regionName'];
echo "<td><input type='text' name='location' value='$loc' style='width:250px;height:50px;display:inline;background- color:#FFF;color:black;border-radius:0px;border:1px solid #C8C8C8' placeholder='Current Location'></td>"; ?>
但是,我无法获取具体位置,并且每次都显示不同的位置。
答案 0 :(得分:0)
<?php
$user_ip = getenv('http://api.hostip.info/get_html.php');
$geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
$city = $geo["geoplugin_city"];
$region = $geo["geoplugin_regionName"];
$country = $geo["geoplugin_countryName"];
或者你可以使用
完整的IP详细信息
$ curl ipinfo.io/8.8.8.8
{
"ip": "8.8.8.8",
"hostname": "google-public-dns-a.google.com",
"loc": "37.385999999999996,-122.0838",
"org": "AS15169 Google Inc.",
"city": "Mountain View",
"region": "California",
"country": "US",
"phone": 650
}
<强>的IPv6 强>
在查找IPv6地址数据和发出IPv6请求方面,都完全支持IPv6。
$ curl ipinfo.io
{
"ip": "2601:9:7680:363:75df:f491:6f85:352f",
"hostname": "No Hostname",
"city": null,
"region": null,
"country": "US",
"loc": "38.0000,-97.0000",
"org": "AS7922 Comcast Cable Communications, Inc."
}
http://ipinfo.io/json
用于您自己的IP
http://ipinfo.io/8.8.8.8/json
了解有关其他IP的详细信息
<强> JSONP 强>
还支持JSONP,它允许您完全在客户端代码中使用ipinfo.io。您只需要指定回调参数,例如。 http://ipinfo.io/?callback=callback
。大多数JavaScript库会自动为您处理。这是一个记录客户端IP和国家/地区的jQuery示例:
$.get("http://ipinfo.io", function(response) {
console.log(response.ip, response.country);
}, "jsonp");
答案 1 :(得分:0)
这有效:
<?php
error_reporting(E_ERROR | E_PARSE);
$ip = $_SERVER['REMOTE_ADDR'];
$url = 'http://www.geoplugin.net/php.gp?ip='.$ip;
$geoplugin = unserialize(file_get_contents($url));
// print_r($geoplugin); // To see what keys are available...
$loc = $geoplugin['geoplugin_countryName'];
echo "
<td>
<input type='text' name='location' value='$loc' style='width:250px;height:50px;display:inline;background-color:#FFF;color:black;border-radius:0px;border:1px solid #C8C8C8' placeholder='Current Location'/>
</td>
";
?>