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的接口,都完全不会用啊!
...全文
978 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)
课程概述: 本课程是一个小型的vue周边技术+以php为基础的+微信接口开发的小型项目。本项目以微信扫码关注公众号实现网站自动登陆这一功能为载体,将会讲解如下主要核心知识点:前端你将学习到: 一、vue-cli4进行前端项目的创建 二、如何使用vuex进行登陆信息的管理与同步 三、如何使用axios进行接口请求的封装与拦截 四、在脚手架里使用Element-UI 五、学习组件化编程的思想 六、如何解决接口前后端分离引起的跨域问题以及在跨域下使用cookie凭证进行会话维护 后端你讲学习到: 一、如何申请微信公众号测试账号,如何进行相关参数的配置,如何进行微信相关接口的开发 二、如何使用微信接口开发,如获取临时二维码,获取用户基础信息,监听公众号关注以及扫描事件 三、如何使用redis对数据进行缓存 四、如何使用php原生代码进行接口的开发 五、如何使用laralvel 7.x 框架进行接口的开发 六、学习到laravel 中核心概念的使用方法,如什么是依赖注入,如何使用服务容器解决依赖注入、服务提供者、中间件的使用,如何处理请求数据,如何进行用户认证,以及如何使用Eloquent ORM进行数据库操作 七、开发过程中遇到的问题,如何进行排查 八、git远端仓库的建立与配置,如何在配置多仓库下的公钥,服务器端部署公钥的配置,如何进行代码部署,本地与服务器代码的开发实时同步 九、如何使用composer帮助我们进行第三方依赖包的安装 本课程的设计思路随笔: 从业务层面上来讲,扫码关注公众号,实现网站端自动登陆是一个非常实用的功能,可以为微信公众号引流。 技术层面上来说,使用前后端分离进行制作,可以将前端以及后端的知识都涵盖到。对于前端的路由,信息维护,脚手架的搭建,ui组件的使用,接口的请求与封装都能够讲解到。 对于后端,本课程对php原生代码以及工作中使用频率比较高的同时也很优雅的laravel框架都会进行讲解,分别予以代码的实现。让同学们能够看到原生开发与框架开发的区别,原生开发使得基础比较弱的同学能够慢慢上手,也知道此功能实现的核心要点,在进行原生代码开发后,再进行框架开发,会有个循序渐进的过程,同时在框架里面我们会降到主流框架都会用到的一些核心思想,比如依赖注入,服务容器,中间件等等,同时对于想学习laravel框架的同学,学习过这个案例后,再去看文档就知道该如何去看,如何去学了。 对于整个代码的管理与部署,我们也会引入git仓库进行项目代码管理,如何在服务器进行网站环境的搭建与代码部署等等实用技巧。 相信本课程会给大家带来十足的收获,大家加油。

21,886

社区成员

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

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