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中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
apache和PHP如何整合在一起
Oct 12 PHP
PHP常用技巧汇总
Mar 04 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
PHP7 参数处理机制修改
Mar 09 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
国内咖啡文化
2021/03/03 咖啡文化
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php二维码生成以及下载实现
2017/09/28 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python实现的快速排序算法详解
2017/08/01 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
经典C++面试题一
2016/11/06 面试题
init进程的作用
2012/04/12 面试题
珍珠奶茶店创业计划书
2014/01/11 职场文书
家长对孩子评语
2014/01/30 职场文书
病媒生物防治方案
2014/05/13 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电