我已获得此代码以获取代码以获取地理位置:
请注意,这很可能是我第一次看到这个错误。我不知道地理服务在哪里离线或者究竟发生了什么。
try{
$json = @file_get_contents('http://www.geoplugin.net/json.gp?ip='.getIp());
if($json === false){
throw new Exception('You are not connected to the internet');
}else{
echo 'Great';
}
}catch( Exception $e){
}
function getIp(){
$ip = "";
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
{
//check for ip from share internet
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
// Check for the Proxy User
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
}
var_dump($ip);
// This will print user's real IP Address
// does't matter if user using proxy or not.
return $ip;
}
继续抛出'You are not connected to the internet';
可能是什么问题?
谢谢!
答案 0 :(得分:2)
首先,如果可能,你不应该使用@。这可以解决错误,但是如果你得到错误,那么你需要了解它,因为它意味着某些事情是对的....
你遇到的问题;与php.ini中的选项有关。看看allow_url_fopen
除非您明确启用了该功能,否则PHP似乎不允许打开远程文件(URL' s),因此您总是会返回false
...
我希望有所帮助!