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

u010924055 2013-12-13 11:09:55
http://wenku.baidu.com/link?url=8KANvGfgFZKzZ9Ap0P6t5cBrHPtwPaiRai0ONlhgkYTwIqqT8E4voW-24CkIO8MIxWzDII9l9t_URYBowGFZ4UFNJYJhRDiYvdEYkAJbQMC&qq-pf-to=pcqq.c2c###
先吐槽一下,花了5财富下载按他写的不会用= =!请问他说的方法可行么?
不行的话有木有简单更好点办法,比如在网上看到的引用QQ的接口,都完全不会用啊!
...全文
1051 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
happypiggy2010 2013-12-18
  • 打赏
  • 举报
回复
学习了。淘宝的ip服务不错。
_HUA_ 2013-12-17
  • 打赏
  • 举报
回复
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);
以上代码足够完成你的需求
net_php 2013-12-14
  • 打赏
  • 举报
回复
引用 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地址。。。[/quote]本地当然就是127.0.0.1啊
Panda跳舞 2013-12-14
  • 打赏
  • 举报
回复
引用 19 楼 u011561479 的回复:
引用 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/[/quote]哥哥,怎么用呀,加在哪?我就要下面城市的那个效果!
csdn醒哥 2013-12-14
  • 打赏
  • 举报
回复
引用 18 楼 u010924055 的回复:
放到服务器就正常了
放到服务器,直接就显示地区了?[/quote] 代码
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/
Panda跳舞 2013-12-14
  • 打赏
  • 举报
回复
引用 16 楼 u011561479 的回复:
引用 15 楼 u010924055 的回复:
两段代码连起来啊
本地配置PHPnow预览还是显示127地址。。。
放到服务器就正常了[/quote]放到服务器,直接就显示地区了?
宁静志远 2013-12-13
  • 打赏
  • 举报
回复
<?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>
csdn醒哥 2013-12-13
  • 打赏
  • 举报
回复
淘宝有一个IP数据接口 http://ip.taobao.com/service/getIpInfo.php?ip=
csdn醒哥 2013-12-13
  • 打赏
  • 举报
回复
引用 15 楼 u010924055 的回复:
两段代码连起来啊
本地配置PHPnow预览还是显示127地址。。。[/quote] 放到服务器就正常了
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 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地址。。。
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 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; //运营商
?>

net_php 2013-12-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; //运营商 两段代码连起来啊
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 8 楼 u011561479 的回复:
[quote=引用 6 楼 u010924055 的回复:] 大哥,不好意思,有木有整套实现方案。。。
这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];[/quote]亲人,加个QQ吧,送全分
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 8 楼 u011561479 的回复:
[quote=引用 6 楼 u010924055 的回复:] 大哥,不好意思,有木有整套实现方案。。。
这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];[/quote]亲,我已经努力的在理解了,求手把手,前端新手不懂这个PHP
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 9 楼 net8386308 的回复:
[quote=引用 8 楼 u011561479 的回复:] [quote=引用 6 楼 u010924055 的回复:] 大哥,不好意思,有木有整套实现方案。。。
这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];[/quote] <?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(); ?> [/quote]吧IP调出来了,转换城市怎么搞呀0 0哎
net_php 2013-12-13
  • 打赏
  • 举报
回复
引用 8 楼 u011561479 的回复:
[quote=引用 6 楼 u010924055 的回复:] 大哥,不好意思,有木有整套实现方案。。。
这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];[/quote] <?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(); ?>
csdn醒哥 2013-12-13
  • 打赏
  • 举报
回复
引用 6 楼 u010924055 的回复:
大哥,不好意思,有木有整套实现方案。。。
这个已经很清楚了啊。你获取访客的IP,用$_SERVER["REMOTE_ADDR"];
木兰东 2013-12-13
  • 打赏
  • 举报
回复
顶起 木兰东 邮箱:mulan_dong@163.com 个人主页:mulandong.duapp.com
Panda跳舞 2013-12-13
  • 打赏
  • 举报
回复
引用 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;	//运营商
[/quote] 大哥,不好意思,有木有整套实现方案。。。
csdn醒哥 2013-12-13
  • 打赏
  • 举报
回复
引用 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;	//运营商
加载更多回复(2)

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧