微信公众号开发之获取位置信息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下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
PHP遍历数组的几种方法
Mar 22 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
PHP开发注意事项总结
Feb 04 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
PHP实现字母数字混合验证码功能
Jul 11 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 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中文字母数字验证码实现代码
2008/04/25 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP概率计算函数汇总
2015/09/13 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
两种php实现图片上传的方法
2016/01/22 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
js post提交调用方法
2014/02/12 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
python自动格式化json文件的方法
2015/03/11 Python
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
python字典一键多值实例代码分享
2019/06/14 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
学生自我鉴定范文
2013/10/04 职场文书
公司开业庆典主持词
2014/03/21 职场文书
中学生操行评语大全
2014/04/24 职场文书
大学专科自荐信
2014/06/17 职场文书
年终工作总结范文2014
2014/11/27 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
高二语文教学反思
2016/02/16 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python