微信公众号开发之获取位置信息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 相关文章推荐
PHP4实际应用经验篇(5)
Oct 09 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
phpnow php探针环境检测代码
Nov 04 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP模板引擎Smarty内建函数详解
Apr 11 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
laravel 解决crontab不执行的问题
Oct 22 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 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
destoon各类调用汇总
2014/06/20 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
Symfony生成二维码的方法
2016/02/04 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
感恩父母的演讲稿
2014/05/06 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
学校食堂标语
2014/10/06 职场文书
大班下学期个人总结
2015/02/13 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python