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 相关文章推荐
yii操作session实例简介
Jul 31 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
php微信开发之关键词回复功能
Jun 13 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 PHP
详解thinkphp的Auth类认证
May 28 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
PHP 解决session死锁的方法
2013/06/20 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
php跨域调用json的例子
2013/11/13 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
python实现接口并发测试脚本
2019/06/25 Python
Django框架表单操作实例分析
2019/11/04 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
销售文员的岗位职责
2013/11/20 职场文书
初三学生评语大全
2014/04/24 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
中学清明节活动总结
2014/07/04 职场文书
2015年教师新年寄语
2014/12/08 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
高一作文之乐趣
2019/11/21 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
python 镜像环境搭建总结
2022/09/23 Python