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 Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
PHP中PDO事务处理操作示例
May 02 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 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
Yii分页用法实例详解
2014/12/04 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
$.format,jquery.format 使用说明
2011/07/13 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
python中__call__内置函数用法实例
2015/06/04 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
django使用admin站点上传图片的实例
2019/07/28 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
应届生法律求职信
2013/10/22 职场文书
公积金转移接收函
2014/01/11 职场文书
工地标语大全
2014/06/18 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
新入职员工工作总结
2015/10/15 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
Python中文纠错的简单实现
2021/07/07 Python
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python