微信公众号开发之获取位置信息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 相关文章推荐
PHP实现网上点歌(二)
Oct 09 PHP
由php if 想到的些问题
Mar 22 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
php处理restful请求的路由类分享
Feb 27 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
Smarty实现页面静态化(生成HTML)的方法
May 23 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
php的无刷新操作实现方法分析
Feb 28 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 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
JS变量及其作用域
2017/03/29 Javascript
原生js二级联动效果
2017/06/20 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
一行python实现树形结构的方法
2019/08/09 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
小学生获奖感言范文
2014/02/02 职场文书
夜不归宿检讨书
2014/02/25 职场文书
2014年质检工作总结
2014/11/26 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
一行代码python实现文件共享服务器
2021/04/22 Python
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
php去除数组中为0的元素的实例分析
2021/11/17 PHP