根据ip调用新浪api获取城市名并转成拼音


Posted in PHP onMarch 07, 2014

功能:

1,获取当前IP地址,
2,调用新浪API,获取到当前城市。
3,将中文转换为拼音后跳转。

<?php
 include './pinyin.php';
//获取当前ip
function getIp(){
  $onlineip='';
  if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){
   $onlineip=getenv('HTTP_CLIENT_IP');
  } elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')){
   $onlineip=getenv('HTTP_X_FORWARDED_FOR');
  } elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')){
   $onlineip=getenv('REMOTE_ADDR');
  } elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){
   $onlineip=$_SERVER['REMOTE_ADDR'];
  }
  return $onlineip;
 }
 //获取城市信息api
 function getLocation($ip){
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
  $str = curl_exec($curl);
  curl_close($curl);
  return $str;
 }
 //当前ip地址
 $currentIP = getIp();
 //通过当前ip获取信息
 $getLocation = getLocation($currentIP);
 $currentInfo = json_decode($getLocation, true); 
 //判断ip是否为有效
 if($currentInfo['ret'] == '-1')
 {
  $currentInfo['city'] = 'unknown';
 }
 //当前城市中文名
 $currentCityName = $currentInfo['city'];  
 $currentCityEName = $pin->Pinyin("$currentCityName",'UTF8');
 //城市拼音多音字
 switch($currentCityEName)
 {
  case 'zhongqing':
   $currentCityEName = 'chongqing';
  break;
  case 'shenfang':
   $currentCityEName = 'shifang';
  break;
  case 'chengdou':
   $currentCityEName = 'chengdu';
  break;
  case 'yueshan':
   $currentCityEName = 'leshan';
  break;
  case 'junxian':
   $currentCityEName = 'xunxian'; 
  break;
  case 'shamen':
   $currentCityEName = 'xiamen'; 
  break;
  case 'zhangsha':
   $currentCityEName = 'changsha'; 
  break;
  case 'weili':
   $currentCityEName = 'yuli'; 
  break;
  case 'zhaoyang':
   $currentCityEName = 'chaoyang'; 
  break;
  case 'danxian':
   $currentCityEName = 'shanxian'; 
  break;
  default:
   $currentCityEName = $pin->Pinyin("$currentCityName",'UTF8');
  break;
 }
 //重定向浏览器 
 header("Location: https://3water.com"); 
 exit;
PHP 相关文章推荐
PHPMailer安装方法及简单实例
Nov 25 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
Yii2框架自定义类统一处理url操作示例
May 25 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
体育彩票排列三组选三算法分享
Mar 07 #PHP
PHP错误和异长常处理总结
Mar 06 #PHP
php发送post请求函数分享
Mar 06 #PHP
PHP empty函数报错解决办法
Mar 06 #PHP
PHP APC缓存配置、使用详解
Mar 06 #PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 #PHP
PHP常用函数和常见疑难问题解答
Mar 05 #PHP
You might like
PHP如何得到当前页和上一页的地址?
2006/11/27 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php基础教程
2015/08/26 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
python操作MongoDB基础知识
2013/11/01 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
python图像处理入门(一)
2019/04/04 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
一年级班主任寄语
2014/01/19 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
企业法人代表任命书
2014/06/06 职场文书
爱护公共设施标语
2014/06/24 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android