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

时间:2022-03-05 16:57:47
http://wenku.baidu.com/link?url=8KANvGfgFZKzZ9Ap0P6t5cBrHPtwPaiRai0ONlhgkYTwIqqT8E4voW-24CkIO8MIxWzDII9l9t_URYBowGFZ4UFNJYJhRDiYvdEYkAJbQMC&qq-pf-to=pcqq.c2c###
先吐槽一下,花了5财富下载按他写的不会用= =!请问他说的方法可行么?
不行的话有木有简单更好点办法,比如在网上看到的引用QQ的接口,都完全不会用啊! PHP实现IP自动判断城市功能

22 个解决方案

#1


淘宝有一个IP数据接口

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

#2


<?php
$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=<?php echo $ip?>" type="text/ecmascript"></script>
<script type="text/javascript">
alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市")
</script>

#3


引用 1 楼 u011561479 的回复:
淘宝有一个IP数据接口

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

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

#4


引用 2 楼 ww_super 的回复:
<?php
$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=<?php echo $ip?>" type="text/ecmascript"></script>
<script type="text/javascript">
alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市")
</script>

PHP基础差,请问IP那地方是数据接口?然后....

#5


引用 3 楼 u010924055 的回复:
这种数据接口怎么用啊,整个没头绪


$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; //运营商

#6


引用 5 楼 u011561479 的回复:
Quote: 引用 3 楼 u010924055 的回复:

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


$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; //运营商

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能

#7


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




木兰东
邮箱:mulan_dong@163.com
个人主页:mulandong.duapp.com

#8


引用 6 楼 u010924055 的回复:
大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

#9


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

<?php
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();
?>

#10


引用 9 楼 net8386308 的回复:
Quote: 引用 8 楼 u011561479 的回复:

Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

<?php
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哎

#11


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

#12


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];
亲人,加个QQ吧,送全分 PHP实现IP自动判断城市功能

#13


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;    //运营商
两段代码连起来啊

#14


引用 13 楼 net8386308 的回复:
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;    //运营商
两段代码连起来啊
<?php
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();
$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;    //运营商
?>

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

#15


引用 13 楼 net8386308 的回复:
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地址。。。

#16


引用 15 楼 u010924055 的回复:
两段代码连起来啊
本地配置PHPnow预览还是显示127地址。。。

放到服务器就正常了

#17


引用 15 楼 u010924055 的回复:
Quote: 引用 13 楼 net8386308 的回复:

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啊

#18


引用 16 楼 u011561479 的回复:
Quote: 引用 15 楼 u010924055 的回复:

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


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

#19


引用 18 楼 u010924055 的回复:
放到服务器就正常了
放到服务器,直接就显示地区了?

代码
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/

#20


引用 19 楼 u011561479 的回复:
Quote: 引用 18 楼 u010924055 的回复:

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


代码
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/哥哥,怎么用呀,加在哪?我就要下面城市的那个效果!

#21


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

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


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

#22


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

#1


淘宝有一个IP数据接口

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

#2


<?php
$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=<?php echo $ip?>" type="text/ecmascript"></script>
<script type="text/javascript">
alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市")
</script>

#3


引用 1 楼 u011561479 的回复:
淘宝有一个IP数据接口

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

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

#4


引用 2 楼 ww_super 的回复:
<?php
$ip = "210.51.4.71";//这里的ip可以是你自定义的ip
?>
<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=<?php echo $ip?>" type="text/ecmascript"></script>
<script type="text/javascript">
alert(remote_ip_info["province"] + "省" + ',' + remote_ip_info["city"] + "市")
</script>

PHP基础差,请问IP那地方是数据接口?然后....

#5


引用 3 楼 u010924055 的回复:
这种数据接口怎么用啊,整个没头绪


$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; //运营商

#6


引用 5 楼 u011561479 的回复:
Quote: 引用 3 楼 u010924055 的回复:

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


$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; //运营商

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能

#7


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




木兰东
邮箱:mulan_dong@163.com
个人主页:mulandong.duapp.com

#8


引用 6 楼 u010924055 的回复:
大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

#9


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

<?php
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();
?>

#10


引用 9 楼 net8386308 的回复:
Quote: 引用 8 楼 u011561479 的回复:

Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

<?php
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哎

#11


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


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

#12


引用 8 楼 u011561479 的回复:
Quote: 引用 6 楼 u010924055 的回复:

大哥,不好意思,有木有整套实现方案。。。 PHP实现IP自动判断城市功能


这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];
亲人,加个QQ吧,送全分 PHP实现IP自动判断城市功能

#13


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;    //运营商
两段代码连起来啊

#14


引用 13 楼 net8386308 的回复:
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;    //运营商
两段代码连起来啊
<?php
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();
$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;    //运营商
?>

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

#15


引用 13 楼 net8386308 的回复:
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地址。。。

#16


引用 15 楼 u010924055 的回复:
两段代码连起来啊
本地配置PHPnow预览还是显示127地址。。。

放到服务器就正常了

#17


引用 15 楼 u010924055 的回复:
Quote: 引用 13 楼 net8386308 的回复:

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啊

#18


引用 16 楼 u011561479 的回复:
Quote: 引用 15 楼 u010924055 的回复:

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


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

#19


引用 18 楼 u010924055 的回复:
放到服务器就正常了
放到服务器,直接就显示地区了?

代码
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/

#20


引用 19 楼 u011561479 的回复:
Quote: 引用 18 楼 u010924055 的回复:

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


代码
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/哥哥,怎么用呀,加在哪?我就要下面城市的那个效果!

#21


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

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


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

#22


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