1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信公众平台开发实例(琴岛学院校园之声) PHP开发 代码挂载SAE

微信公众平台开发实例(琴岛学院校园之声) PHP开发 代码挂载SAE

时间:2018-07-17 15:19:07

相关推荐

微信公众平台开发实例(琴岛学院校园之声) PHP开发 代码挂载SAE

php教程|php手册

微信,公众,平台,开发实例,琴岛,学院,校园,之声,PHP,

php教程-php手册

登陆网页源码下载,vscode高亮当前行,ubuntu更改目录,tomcat访问视频,sqlite无法添加数据,为什么屋里有小爬虫呢,php 网盘程序,惠州seo建站排名,建站工作室网站源码,网页底端固定导航代码,邮件变量模板lzw

欢迎关注我的微信 公众 账号“ APP每日推荐 ” 推荐一些精彩手机应用,互联网行业资讯~ !–题外话 :做这样一个系列的原因在于,这个微信 公众 平台 算的上是我解除编程一来 开发 的第一个有实际用途的东西,在这之中有很多体会,不敢说讲给大家听,只是同大

baocms7.2完整源码,vscode左右移动快捷键,微软ubuntu suse,关掉tomcat窗口的方法,爬虫python价格,php没有多线程,广州站外seo推广费用lzw

旅游商城网站系统源码,ubuntu推荐翻译扩展,tomcat8和9区别大吗,爬虫怎么设置ip,莲花单页php导航网站源码,麦包包 seolzw

欢迎关注我的微信公众账号“APP每日推荐”

推荐一些精彩手机应用,互联网行业资讯~

<!–题外话 :做这样一个系列的原因在于,这个微信公众平台算的上是我解除编程一来开发的第一个有实际用途的东西,在这之中有很多体会,不敢说讲给大家听,只是同大家分享一下,作为学计算机的,因为专科学的是网络,所以编程解除的并不深,现在开始从新开始学习编程。这里面的代码可能写的不是很规范,还请您指出,我会继续修改的。–>

最终制作效果请见:/c123853648/article/details/11095043

之前我们做了一系列的准备工作,这期开始我们正式进入编码工作。

首先我们需要在代码中修改一个地方,上次在验证的时候我们添加了这样一行代码

$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();

现在验证已经完成我们需要这样修改一下,修改为

$wechatObj = new wechatCallbackapiTest();//$wechatObj->valid();$wechatObj->responseMsg();

下面是官方提供的demo

valid();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 dataif (!empty($postStr)){ $postObj = simplexml_load_string($postStr, SimpleXMLElement, LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$keyword = trim($postObj->Content);$time = time();$textTpl = "<![CDATA[%s]]><![CDATA[%s]]>%s<![CDATA[%s]]><![CDATA[%s]]>0"; if(!empty( $keyword )){ $msgType = "text";$contentStr = "Welcome to wechat world!";$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;}}}?>

前23行和61行之后的开发时并没有太多关注,这里我就不做分析了,日后研究了再写吧。

我们从responseMsg()这个方法开始说吧。

$postStr变量接受用户提交的信息(xml格式),之后通过调用simplexml_load_string() 函数把 XML 字符串载入对象中。

在得到了$postObj这个变量后,通过

这种方式获取到用户传来的各种数据,并存储在相应的变量中相应的信息格式参照消息接口指南:

http://mp./wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97

$textTpl这个变量用于存储各种回复信息类型的结构,可以在消息接口指南中查到,这里可以根据自己的需求添加不同的信息类型结构的变量

$contentStr这个变量对应着回复文本信息的文本内容

sprintf函数的作用可以说是将需要回复的信息,添加到$textTpl定义的“结构”中,springf函数使用方法如下:

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

在后面的开发过程中,基本上是根据【获取用户发送的内容】->【对内容的处理】->【通过编写相关方法,将内容在数据库中做相关操作】->【返回数据库操作的结果】->【填充$textTpl“结构”中的变量】->【输出结果】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。