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


Posted in PHP onJune 13, 2018

本文实例为大家分享了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;
  }
 }
}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php表单敏感字符过滤类
Dec 08 PHP
php常用图片处理类
Mar 16 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 #PHP
php中html_entity_decode实现HTML实体转义
Jun 13 #PHP
php处理多图上传压缩代码功能
Jun 13 #PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 #PHP
You might like
php文件下载处理方法分析
2015/04/22 PHP
php简单生成随机数的方法
2015/07/30 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python 加密的实例详解
2017/10/09 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
什么是继承
2013/12/07 面试题
《黄河颂》教学反思
2014/02/07 职场文书
母亲节演讲稿
2014/05/27 职场文书
抵押贷款承诺书
2014/05/30 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
雨花台导游词
2015/02/06 职场文书
学术会议领导致辞
2015/07/29 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书