微信公众号开发之获取位置信息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 n个不重复的随机数生成代码
Jun 23 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
php以post形式发送xml的方法
Nov 04 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
详解php命令注入攻击
Apr 06 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 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/07/12 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
利用Python脚本生成sitemap.xml的实现方法
2017/01/31 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
python虚拟环境迁移方法
2019/01/03 Python
python tkinter实现屏保程序
2019/07/30 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
新学期班主任寄语
2014/01/18 职场文书
联谊活动策划书
2014/01/26 职场文书
六个一活动实施方案
2014/03/21 职场文书
合伙经营协议书范本
2014/09/13 职场文书
南京导游词
2015/02/03 职场文书
小组口号霸气押韵
2015/12/24 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
原生JS实现飞机大战小游戏
2021/06/09 Javascript
用Python爬取某乎手机APP数据
2021/06/15 Python