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 大数据量及海量数据处理算法总结
May 07 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
将二维数组转为一维数组的2种方法
May 26 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
Yii2中SqlDataProvider用法示例
Sep 22 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 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中的登陆login实例代码
2016/06/20 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
python django事务transaction源码分析详解
2017/03/17 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
3分钟学会一个Python小技巧
2018/11/23 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
python 函数中的参数类型
2020/02/11 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
初三学习计划书范文
2014/04/30 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
Python 统计序列中元素的出现频度
2022/04/26 Python