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 27 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
php中yii框架实例用法
Dec 22 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使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
js 表格隔行颜色
2009/12/02 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Python用模块pytz来转换时区
2016/08/19 Python
python实现发送邮件功能代码
2017/12/14 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
银行门卫岗位职责
2013/12/29 职场文书
护理不良事件检讨书
2014/02/06 职场文书
关于责任的演讲稿
2014/05/20 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
清明节寄语2015
2015/03/23 职场文书
学校标语口号大全
2015/12/26 职场文书
DQL数据查询语句使用示例
2022/12/24 MySQL