微信公众号开发之获取位置信息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 相关文章推荐
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
php计算十二星座的函数代码
Aug 21 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP7 弃用功能
Mar 09 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安装问题
2006/10/09 PHP
php基础知识:控制结构
2006/12/13 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
js相册效果代码(点击创建即可)
2013/04/16 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
vue.js的提示组件
2017/03/02 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python文件和流(实例讲解)
2017/09/12 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Python二维码生成识别实例详解
2019/07/16 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
基于python实现文件加密功能
2020/01/06 Python
Python使用configparser库读取配置文件
2020/02/22 Python
Python如何执行系统命令
2020/09/23 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
宣传策划类求职信范文
2014/01/31 职场文书
党员批评与自我批评
2014/10/15 职场文书
党员民主生活会材料
2014/12/15 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
公积金具结保证书
2015/05/11 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书