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

功能:

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: http://www.jb51.net");
 exit;

时间: 2024-10-31 16:35:03

根据ip调用新浪api获取城市名并转成拼音_php实例的相关文章

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

 这篇文章主要介绍了根据ip调用新浪api获取城市名并转成拼音的示例,,需要的朋友可以参考下 功能:   1,获取当前IP地址, 2,调用新浪API,获取到当前城市. 3,将中文转换为拼音后跳转.  代码如下: <?php  include './pinyin.php';   //获取当前ip function getIp(){   $onlineip='';   if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_

JQuery与Ajax调用新浪API获取短网址的代码

 这篇文章主要介绍了调用新浪API获取短网址的方法有很多,本例为大家介绍下使用JQuery与Ajax来实现,需要的朋友可以参考下  代码如下: <!doctype html>  <html>  <head>  <meta charset="utf-8">  <title>获取新浪短网址</title>  <script src="http://ajax.aspnetcdn.com/ajax/jQue

JQuery与Ajax调用新浪API获取短网址的代码_jquery

复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>获取新浪短网址</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script> <!--<script type

jsonp-ajax 调用新浪API动态获取短网址

问题描述 ajax 调用新浪API动态获取短网址 function getShortUrl(urlStr){ $.ajax({ async:false, url : 'http://api.weibo.com/2/short_url/shorten.json?source=5786724301&url_long='+urlStr, type : 'GET', dataType : 'JSONP', jsonp: 'jsoncallback', cache: false, success : fu

新浪微博api 调用-如何调用新浪API对其微博数据进行挖掘分析

问题描述 如何调用新浪API对其微博数据进行挖掘分析 各位大神,菜鸟目前正在进行微博数据挖掘分析的相关项目,刚开始没多久,在此想请教各位,如何在SQL等数据库软件上调用新浪微博API,我已经在新浪微博平台,并下载了相关的SDK包,调用所必需的 app secret,回调地址等都已经有了,现在就是不知道如何在数据库软件上调用数据的具体操作,是通过平台给出的那些接口吗?具体问题如下: 1,如何获取微博内的数据: 2,新浪平台提供的那些接口怎么使用.(PS:关于数据挖掘的算法分析这些以后会逐步解决,现

调用新浪API中的通过ID获得微博评论内容后,怎样将打印窗口里的信息保存成文件

问题描述 我是调用的新浪API中的通过ID获得微博评论内容的类,即GetCommentById.java其中最主要的执行语句是CommentWappercomment=cm.getCommentById(id);该句中的getCommentById是:publicCommentWappergetCommentById(Stringid)throwsWeiboException{returnComment.constructWapperComments(client.get(WeiboConfig

java 登录新浪微博(非调用新浪API)

问题描述 各位大牛:我最近需要爬取新浪微博一些数据,决定用java(不用新浪微博提供的API):具体步骤如下:1先用POST方法发送表头和表单,得到一个返回,取出里面的location.replace包含的链接地址:2用get方法向步骤一得到的链接地址发一个返回数据,得到如下结果:<html><head><scriptlanguage='javascript'>parent.sinaSSOController.feedBackUrlCallBack({"res

新浪api 获取数据-新浪微博接口问题——如何获取一个省的微博数据

问题描述 新浪微博接口问题--如何获取一个省的微博数据 因为开发分析需要,我需要获取北京市的历史微博数据,目前来看,我看了好几遍API文档都没有根据省市获取微博的接口,但是新浪微博的搜索功能里又有这个功能,请大侠们指点一下我应该怎么样去获取这些数据

jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)_jquery

本文实例讲述了jQuery获取访问者IP地址的方法.分享给大家供大家参考,具体如下: <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ //通过调用新浪IP地址库接口查询用户当前所在国家.省份.城市.运营商信息 $.g