网络编程
位置:首页>> 网络编程>> php编程>> 微信公众号开发之获取位置信息php代码

微信公众号开发之获取位置信息php代码

作者:qiphon3650  发布时间:2023-11-17 06:33:15 

标签:php,微信公众号,位置

本文实例为大家分享了php微信公众号获取位置信息的具体代码,供大家参考,具体内容如下

<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->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;
   $customevent = $postObj->Event;
   $latitude = $postObj->Location_X;
   $longitude = $postObj->Location_Y;
   $keyword = trim($postObj->Content);
   $time = time();
   $textTpl = "<xml>
      <ToUserName><![CDATA[%s]]></ToUserName>
      <FromUserName><![CDATA[%s]]></FromUserName>
      <CreateTime>%s</CreateTime>
      <MsgType><![CDATA[%s]]></MsgType>
      <Content><![CDATA[%s]]></Content>
      <FuncFlag>0</FuncFlag>
      </xml>";    
   if($type=="event" and $customevent=="subscribe"){
    $contentStr = "感谢你的关注\n回复1查看联系方式\n回复2查看最新资讯\n回复3查看法律文书";
    $msgType = "text";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }
   if($type=="image" ){
    $contentStr = "你的图片很棒!";
    $msgType = "text";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }
   if($type=="location" ){
    $contentStr = "你的纬度是{$latitude},经度是{$longitude},我已经锁定!";
    $msgType = "text";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }  
   if(!empty( $keyword ))
   {        
    $msgType = "text";
    if($keyword=="1"){
    $contentStr = "qiphon";}
    if($keyword=="2"){
    $contentStr = "test222";}
    if($keyword=="3"){
    $contentStr = "test333";}    
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
   }else{
    echo "Input something...";
   }
}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;
 }
}
}
?>

来源:https://blog.csdn.net/qiphon3650/article/details/80659652

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com