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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
PHP 类相关函数的使用详解
May 10 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
ThinkPHP标签制作教程
Jul 10 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
php类的定义与继承用法实例
Jul 07 PHP
php实现36进制与10进制转换功能示例
Jan 10 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
php实现文件预览功能
May 23 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 PHP
Linux系统下安装PHP7.3版本
Jun 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
网上卖盒饭创业计划书
2014/01/26 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
企业授权委托书范本
2014/04/02 职场文书
理发店策划方案
2014/06/05 职场文书
2014年班主任工作总结
2014/11/08 职场文书
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python