栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php微信开发之谷歌测距

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php微信开发之谷歌测距

本文实例为大家分享了php微信谷歌测距的具体代码,供大家参考,具体内容如下

valid();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];

    //valid signature , option
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }

  public function responseMsg()
  {
    //get post data, May be due to the different environments
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

    //extract post data
    if (!empty($postStr)){

 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
 $fromUsername = $postObj->FromUserName;
 $toUsername = $postObj->ToUserName;
 $type = $postObj->MsgType;
 $customrevent = $postObj->Event;
 $latitude = $postObj->Location_X;
 $longitude = $postObj->Location_Y;
 $keyword = trim($postObj->Content);
 $time = time();
 $textTpl = "


%s


0
";
 switch ($type)
      {  case "event";
 if ($customrevent=="subscribe")
   {$contentStr = '';}
 break;
 case "image";
 $contentStr = "你的图片很棒!";
 break;
 case "location";
 $disurl="http://maps.googleapis.com/maps/api/distancematrix/xml?origins={$latitude},{$longitude}&destinations=23.355164,116.681889&mode=walking&language=zh-CN&sensor=false";
      $apistr=file_get_contents($disurl);
      $apiobj=simplexml_load_string($apistr);
      $disobj=$apiobj->row->element->distance->text;
      $durobj=$apiobj->row->element->duration->text;
      $contentStr = "你离我公司约{$disobj}公里,步行约{$durobj}";

 break;
 case "link" ;
 $contentStr = "你的链接有病毒吧!";
 break;
 case "text";
 $weatherurl="http://api.map.baidu.com/telematics/v2/weather?location={$keyword}&ak=1a3cde429f38434f1811a75e1a90310c";
  $apistr=file_get_contents($weatherurl);
  $apiobj=simplexml_load_string($apistr);
  $placeobj=$apiobj->currentCity;//读取城市
  $todayobj=$apiobj->results->result[0]->date;//读取星期
  $weatherobj=$apiobj->results->result[0]->weather;//读取天气
  $windobj=$apiobj->results->result[0]->wind;//读取风力
  $temobj=$apiobj->results->result[0]->temperature;//读取温度
  $contentStr = "{$placeobj}{$todayobj}天气{$weatherobj},风力{$windobj},温度{$temobj}";
  break;   
      default;
      $contentStr ="此项功能尚未开发";  
      }
 $msgType="text";
 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
 echo $resultStr;


    }else {
      echo "";
      exit;
    }
  }

  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];  

    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/39700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号