php实现根据IP地址获取其所在省市的方法


Posted in PHP onApril 30, 2015

根据现有IP地址获取其地理位置(省份,城市等)的方法

function GetIpLookup($ip = ''){  
  if(empty($ip)){  
    return '请输入IP地址'; 
  }  
  $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);  
  if(empty($res)){ return false; }  
  $jsonMatches = array();  
  preg_match('#\{.+?\}#', $res, $jsonMatches);  
  if(!isset($jsonMatches[0])){ return false; }  
  $json = json_decode($jsonMatches[0], true);  
  if(isset($json['ret']) && $json['ret'] == 1){  
    $json['ip'] = $ip;  
    unset($json['ret']);  
  }else{  
    return false;  
  }  
  return $json;  
} 
$ipInfos = GetIpLookup('123.125.114.144'); //baidu.com IP地址  
var_dump($ipInfos);

再发一个简化版的

function getIpAddress(){  
  $ipContent  = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js");  
  $jsonData = explode("=",$ipContent);   
  $jsonAddress = substr($jsonData[1], 0, -1);  
  return $jsonAddress;  
}  
$ip_info=json_decode(getIpAddress());

PHP根据IP地址实现城市切换或跳转

到这里,其实问题已经很简单了,用简单的js就通通搞定。C段如下:

//根据IP地址跳转指定页面js取得城市

var city='<?echo ipCity($xp_UserIp);?>'; //根据IP地址所有城市跳转到指定页面

if(city.indexOf("上海市")>=0){

         window.location.href="http://shanghai.demo.com/"; }
将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:

<script src="/ipcity/ipaddress.php" type="text/javascript" language="javascript"></script>
刷新页面,是不是达到预想的效果了呢?

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php桌面中心(四) 数据显示
Mar 11 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
PHP n个不重复的随机数生成代码
Jun 23 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
php解析xml方法实例详解
May 12 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
PHP使用mongoclient简单操作mongodb数据库示例
Feb 08 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
PHP实现根据银行卡号判断银行
Apr 29 #PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 #PHP
php实现中文字符截取防乱码方法汇总
Apr 29 #PHP
WIN8.1下搭建PHP5.6环境
Apr 29 #PHP
php筛选不存在的图片资源
Apr 28 #PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 #PHP
php恢复数组的key为数字序列的方法
Apr 28 #PHP
You might like
同一空间绑定多个域名而实现访问不同页面的PHP代码
2006/12/06 PHP
JavaScript延迟加载
2021/03/09 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
移动端js图片查看器
2016/11/17 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Django 路由控制的实现
2019/07/17 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
人力资源专员自我评价怎么写
2013/09/19 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
感恩的演讲稿
2014/05/06 职场文书
行政监察建议书
2014/05/19 职场文书
人事专员岗位说明书
2014/07/29 职场文书
合同意向书范本
2014/07/30 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2014年质检工作总结
2014/11/26 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
法制教育讲座心得体会
2016/01/14 职场文书