首頁 >後端開發 >php教程 >PHP实现IP自动判断城市功能

PHP实现IP自动判断城市功能

WBOY
WBOY原創
2016-06-23 14:39:42987瀏覽

http://wenku.baidu.com/link?url=8KANvGfgFZKzZ9Ap0P6t5cBrHPtwPaiRai0ONlhgkYTwIqqT8E4voW-24CkIO8MIxWzDII9l9t_URYBowGFZ4UFNJYJhRDiYvdEYkAJbQMC&qq-pf-to=pcqq.c2c###
先吐槽一下,花了5财富下载按他写的不会用= =!请问他说的方法可行么?
不行的话有木有简单更好点办法,比如在网上看到的引用QQ的接口,都完全不会用啊!


回复讨论(解决方案)

淘宝有一个IP数据接口

http://ip.taobao.com/service/getIpInfo.php?ip=

$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script>" type="text/ecmascript"></script>
<script> <br /> alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市") <br /> </script>

淘宝有一个IP数据接口

http://ip.taobao.com/service/getIpInfo.php?ip=
这种数据接口怎么用啊,整个没头绪

$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script>" type="text/ecmascript"></script>
<script> <br /> alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市") <br /> </script>
PHP基础差,请问IP那地方是数据接口?然后....

这种数据接口怎么用啊,整个没头绪

$ip='183.16.198.102';$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo $arr->data->country;	//国家echo $arr->data->area;	//区域echo $arr->data->region;	//省份echo $arr->data->city;	//城市echo $arr->data->isp;	//运营商


这种数据接口怎么用啊,整个没头绪

$ip='183.16.198.102';$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo $arr->data->country;	//国家echo $arr->data->area;	//区域echo $arr->data->region;	//省份echo $arr->data->city;	//城市echo $arr->data->isp;	//运营商

大哥,不好意思,有木有整套实现方案。。。

大哥,不好意思,有木有整套实现方案。。。

这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];


大哥,不好意思,有木有整套实现方案。。。

这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];
function GetIP() {
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
echo GetIP();
?>



大哥,不好意思,有木有整套实现方案。。。

这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];
function GetIP() {
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
echo GetIP();
?>
吧IP调出来了,转换城市怎么搞呀0 0哎


大哥,不好意思,有木有整套实现方案。。。

这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"]; 亲,我已经努力的在理解了,求手把手,前端新手不懂这个PHP


大哥,不好意思,有木有整套实现方案。。。

这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"]; 亲人,加个QQ吧,送全分

echo GetIP();它就返回ip,然后接这段代码就可以了:$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$arr=json_decode($json);
echo $arr->data->country;    //国家
echo $arr->data->area;    //区域
echo $arr->data->region;    //省份
echo $arr->data->city;    //城市
echo $arr->data->isp;    //运营商
两段代码连起来啊

echo GetIP();它就返回ip,然后接这段代码就可以了:$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$arr=json_decode($json);
echo $arr->data->country;    //国家
echo $arr->data->area;    //区域
echo $arr->data->region;    //省份
echo $arr->data->city;    //城市
echo $arr->data->isp;    //运营商
两段代码连起来啊

<?phpfunction GetIP() {if ($_SERVER["HTTP_X_FORWARDED_FOR"])$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];else if ($_SERVER["HTTP_CLIENT_IP"])$ip = $_SERVER["HTTP_CLIENT_IP"];else if ($_SERVER["REMOTE_ADDR"])$ip = $_SERVER["REMOTE_ADDR"];else if (getenv("HTTP_X_FORWARDED_FOR"))$ip = getenv("HTTP_X_FORWARDED_FOR");else if (getenv("HTTP_CLIENT_IP"))$ip = getenv("HTTP_CLIENT_IP");else if (getenv("REMOTE_ADDR"))$ip = getenv("REMOTE_ADDR");else$ip = "Unknown";return $ip;}echo GetIP();$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo $arr->data->country;    //国家echo $arr->data->area;    //区域echo $arr->data->region;    //省份echo $arr->data->city;    //城市echo $arr->data->isp;    //运营商?>

echo GetIP();它就返回ip,然后接这段代码就可以了:$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$arr=json_decode($json);
echo $arr->data->country;    //国家
echo $arr->data->area;    //区域
echo $arr->data->region;    //省份
echo $arr->data->city;    //城市
echo $arr->data->isp;    //运营商
两段代码连起来啊 本地配置PHPnow预览还是显示127地址。。。

两段代码连起来啊 本地配置PHPnow预览还是显示127地址。。。

放到服务器就正常了


echo GetIP();它就返回ip,然后接这段代码就可以了:$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$arr=json_decode($json);
echo $arr->data->country;    //国家
echo $arr->data->area;    //区域
echo $arr->data->region;    //省份
echo $arr->data->city;    //城市
echo $arr->data->isp;    //运营商
两段代码连起来啊 本地配置PHPnow预览还是显示127地址。。。 本地当然就是127.0.0.1啊


两段代码连起来啊 本地配置PHPnow预览还是显示127地址。。。

放到服务器就正常了放到服务器,直接就显示地区了?

放到服务器就正常了 放到服务器,直接就显示地区了?

代码

header("Content-type: text/html; charset=utf-8");$ip=$_SERVER["REMOTE_ADDR"];$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo 'IP:'.$ip;echo '<br>城市:'.$arr->data->city;


效果:
http://rick.sinaapp.com/


放到服务器就正常了 放到服务器,直接就显示地区了?

代码

header("Content-type: text/html; charset=utf-8");$ip=$_SERVER["REMOTE_ADDR"];$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo 'IP:'.$ip;echo '<br>城市:'.$arr->data->city;


效果:
http://rick.sinaapp.com/哥哥,怎么用呀,加在哪?我就要下面城市的那个效果!

1.首先想办法获取到IP地址,要是自己不会。 请点击
2.取到了IP地址。可调用淘宝api

$json=file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);$arr=json_decode($json);echo "<pre class="brush:php;toolbar:false">";print_r($arr);


以上代码足够完成你的需求

学习了。淘宝的ip服务不错。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn