PHP获取用户IP所在地的信息
时间:2011-07-21
来源:互联网
转:JonathanYoung
最近项目中用到了获取用户IP所在地的信息,主要是为了从IP去判断用户所在的城市,现在的城市信息基本上有分几种
一种是用ID编号来关联城市的,还有使用缩写的代码来关联城市的。
我们通过IP去获取所在的用户的 城市的详细信息,比如运行以下的结果得到的是 "福建省福州市 电信"
可以得到用户的 省市及所使用的网络接入的信息
这里调用的是百度的开放查询接口,通过网页的方式去查询然后从返回的结果中去匹配我们所需要的信息,效果还行,代码在下面,还是能凑合着用的。
复制代码
PHP获取用户IP所在地的信息
最近项目中用到了获取用户IP所在地的信息,主要是为了从IP去判断用户所在的城市,现在的城市信息基本上有分几种
一种是用ID编号来关联城市的,还有使用缩写的代码来关联城市的。
我们通过IP去获取所在的用户的 城市的详细信息,比如运行以下的结果得到的是 "福建省福州市 电信"
可以得到用户的 省市及所使用的网络接入的信息
这里调用的是百度的开放查询接口,通过网页的方式去查询然后从返回的结果中去匹配我们所需要的信息,效果还行,代码在下面,还是能凑合着用的。
- 01 var_dump(getAddress('202.101.98.54','福州'));
-
- 02
-
- 03 function getAddress($ip=null,$address='') {
-
- 04 $url = "http://open.baidu.com/ipsearch/s?wd={$ip}&tn=baiduip";
-
- 05 $res = mb_convert_encoding(HttpRequest($url), 'UTF-8', 'GBK');
-
- 06 //var_dump($res);
-
- 07 if ( preg_match('#来自:<b>(.+)</b>#Ui', $res, $m) ) {
-
- 08 if (is_int(strpos($m[1], $address))) {
-
- 09 return $m[1];
-
- 10 }
-
- 11 }
-
- 12 }
-
- 13
-
- 14
-
- 15 function HttpRequest($url, $data=array()) {
-
- 16 $ch = curl_init();
-
- 17 if (is_array($data) && $data) {
-
- 18 $formdata = http_build_query($data);
-
- 19 curl_setopt($ch, CURLOPT_POST, true);
-
- 20 curl_setopt($ch, CURLOPT_POSTFIELDS, $formdata);
-
- 21 }
-
- 22 curl_setopt($ch, CURLOPT_URL, $url);
-
- 23 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- 24 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
-
- 25 curl_setopt($ch, CURLOPT_TIMEOUT, 2);
-
- 26 return curl_exec($ch);
-
- 27 }
作者: so_brave 发布时间: 2011-07-21
百度的ip数据不准确。
用纯真的 ip 库吧。
用纯真的 ip 库吧。
作者: maochanglu 发布时间: 2011-07-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28