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输出控制功能在简繁体转换中的应用
Oct 09 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
ThinkPHP CURD方法之table方法详解
Jun 18 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
linux下实现定时执行php脚本
Feb 13 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
PHP 表单提交及处理表单数据详解及实例
Dec 27 PHP
PHPMailer发送邮件
Dec 28 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
May 02 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
php7安装yar扩展的方法详解
Aug 03 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自动跳转中英文页面
2008/07/29 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
深入php list()函数的详解
2013/06/05 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
DOM精简教程
2006/10/03 Javascript
javascript编程起步(第五课)
2007/01/10 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Django分组聚合查询实例分享
2020/04/29 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
学校办公室主任职责
2013/12/27 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers