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 ? EasyUI DataGrid 资料取的方式介绍
Nov 07 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
php实现的通用图片处理类
Mar 24 PHP
微信支付开发维权通知实例
Jul 12 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
PHP设计模式之命令模式示例详解
Dec 20 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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
sina的lightbox效果。
2007/01/09 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
快速了解Python相对导入
2018/01/12 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
浅谈Django的缓存机制
2018/08/23 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
Python整数对象实现原理详解
2019/07/01 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
python 如何对logging日志封装
2020/12/02 Python
公务员个人自我评价分享
2013/11/06 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
学校采购员岗位职责
2014/01/02 职场文书
狼和鹿教学反思
2014/02/05 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
Python 发送SMTP邮件的简单教程
2021/06/24 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android