学习微信官方代码wx_sample.php

微信开发学习,官方把一些常用命令都已经封装好了,直接调用即可。但本着钻研的态度,还是来详细看一下。


定义常量TOKEN,,是为了服务器安全,防止他人调用,可以自行更改,更改后公众号借口配置也要做相应更改.

$wechatObj -> valid()为验证开发模式借口,验证完即可注视获或是忽略


valid验证借口的方法,从用户端获取一个随机字符变量$echoStr,checkSIgnature验证签名是否一致,为真是输出变量$echoStr,完成验证操作 。


自动回复信息的方法,用户端发送的数据存入变量$postStr中,格式为xml,$_POST无法解析,$GLOBALS["HTTP_RAW_POST_DATA"]来获取,

解析变量$postStrl,

  libxml_disable_entity_loader(true);
           $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);//解析xml
         $fromUsername = $postObj->FromUserName; //用户名
         $toUsername = $postObj->ToUserName; //公众号ID

         //自定义event,subscribe事件
         $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>";

 $fromUsername微信用户端用户名,

$toUsername公众账号ID

$keyword用户发来的文本内容

$time系统时间

$textTpl微信内容固定格式

<ToUserName>微信目标方

<FromUserName>微信来源方

<CreateTime>>系统时间

<MsgType>回复微信的信息类型

<Content>回复微信的内容

<FuncFlag>是否星标微信


重点来了

$msgType设置回复文本类型

$contentStr我们需要回复的信息,内容在这里更改

$resultStr定义xml

建立私有方法签名,看看即可

获取用户端签名$signature

获取用户端时间戳$timestamp

获取用户端随机数$snonce

常量赋值$token

数组$tomArr

新建名排序

字典排序

sha1加密

判断$tmpStr和$signature变量是否同值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值