【发布时间】:2018-10-06 14:19:24
【问题描述】:
到目前为止,我的脚本可以提取 ip、lat 和 long。邮政编码没有被删除。我无法弄清楚什么是坏的以及它需要什么才能使它工作。有什么想法吗?
// Function to get the client ip address
function getUserIP()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$ipaddress = getUserIP();
$geoIP =
json_decode(file_get_contents("http://freegeoip.net/json/$ipaddress"), true);
$lat = $geoIP['latitude'];
$lon = $geoIP['longitude'];
$zip = $geoIP['zip'];
【问题讨论】:
-
根据公告,freegeoip API将于今年7月1日全面停产:github.com/apilayer/freegeoip#readme
-
一般提示:非常小心 PHP 的“闭嘴”运算符
@。您可能会抑制重要的输出,尤其是在开发过程中。 -
谢谢@Chris .. 我删除了那些,但不记得在那里看到它们。