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 相关文章推荐
967 个函式
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
php进程间通讯实例分析
Jul 11 PHP
php实现36进制与10进制转换功能示例
Jan 10 PHP
php快速导入大量数据的实例方法
Sep 23 PHP
Laravel框架中集成MongoDB和使用详解
Oct 17 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
拼音码表的生成
2006/10/09 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
单位创先争优活动方案
2014/01/26 职场文书
安全生产投入制度
2014/01/29 职场文书
朋友离别感言
2015/08/04 职场文书
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技