文档介绍:该【微信公众号后台PHP源代码 】是由【非学无以广才】上传分享,文档一共【24】页,该文档可以免费在线阅读,需要了解更多关于【微信公众号后台PHP源代码 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。<?php
/*
doufudiysupport
CopyRightAll Rights Reserved
*/
define("TOKEN", "doufudiy");
define("AppID","wx9b24c99e83238b21");
define("EncodingAESKey", "ww1bzDRcAy84UOGNaxL230A9tdBBOWgKQkYviIc6CFc");
define("APP_SECRET","c9addd54fcf811ea7acb59d");//改成自己的APPSECRET
$wechatObj = newwechatCallbackapiTest();
$wechatObj->responseMsg();
classwechatCallbackapiTest
{
ﻩprivate$app_id;
private$app_secret;
ﻩ
publicfunction valid()
{
$echoStr=$_GET["echostr"];
//validsignature,option
if($this->checkSignature()){
ob_clean();
echo$echoStr;
exit;
}
}
functiontxt($fu,$tu,$content,$flag= 0){
ﻩ$tplﻩ= "<xml>
ﻩﻩ <ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩﻩﻩ <FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩ <CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩ<MsgType><![CDATA[text]]></MsgType>
ﻩ ﻩﻩ<Content><![CDATA[".$content."]]></Content>
<FuncFlag>".$flag."</FuncFlag>
ﻩ </xml>";
ﻩecho$tpl;
}
functionnews($fu,$tu,$data,$flag=0){
$numﻩ=ﻩcount($data);
if($num >1){
$add =$this->news_add($data);
ﻩ $tpl =" <xml>
ﻩﻩ ﻩﻩ<ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩﻩﻩ <FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩﻩﻩﻩ <CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩ ﻩ <MsgType><![CDATA[news]]></MsgType>
ﻩ ﻩ <Content><![CDATA[%s]]></Content>
ﻩ ﻩﻩﻩ<ArticleCount>".$num."</ArticleCount>
ﻩ <Articles>
ﻩ ﻩ".$add."
ﻩﻩ </Articles>
ﻩ ﻩ ﻩ<FuncFlag>".$flag."</FuncFlag>
ﻩ ﻩﻩ </xml>";
ﻩﻩecho$tpl;
ﻩ}else{
ﻩﻩ$tpl = "<xml>
ﻩﻩﻩ <ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩﻩ<FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩﻩ <CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩﻩ ﻩ <MsgType><![CDATA[news]]></MsgType>
ﻩ ﻩ<Content><![CDATA[%s]]></Content>
ﻩ ﻩ<ArticleCount>1</ArticleCount>
ﻩﻩﻩ <Articles>
ﻩﻩ ﻩ <item>
ﻩ ﻩ <Title><![CDATA[".$data[0]['title']."]]></Title>
ﻩﻩﻩﻩ <Description><![CDATA[".$data[0]['intro']."]]></Description>
ﻩ ﻩ <PicUrl><![CDATA[".$data[0]['pic']."]]></PicUrl>
ﻩﻩﻩ <Url><![CDATA[".$data[0]['url']."]]></Url>
ﻩ </item>
ﻩ </Articles>
ﻩﻩ ﻩ <FuncFlag>".$flag."</FuncFlag>
ﻩ ﻩﻩ</xml>";
ﻩecho$tpl;
ﻩ}
}
functionnews_add($data){
ﻩ$addﻩ=ﻩ"";
foreach ($dataas$k){
$addﻩ.="<item>
ﻩ <Title><![CDATA[".$k['title']."]]></Title>
ﻩﻩ<Description><![CDATA[".$k['intro']."]]></Description>
<PicUrl><![CDATA[".$k['pic']."]]></PicUrl>
ﻩ <Url><![CDATA[".$k['url']."]]></Url>
ﻩﻩ ﻩ</item>";
}
return$add;
}
/*
function audio($fu,$tu,$data,$flag=0){
ﻩ$tpl =ﻩ"<xml>
ﻩ ﻩ <ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩﻩ ﻩﻩ <FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩ ﻩﻩﻩ <CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩﻩﻩﻩ <MsgType><![CDATA[music]]></MsgType>
ﻩ <Music>
ﻩﻩ ﻩ<Title><![CDATA[".$data['title']."]]></Title>
ﻩﻩﻩﻩ <Description><![CDATA[".$data['intro']."]]></Description>
ﻩﻩﻩ <MusicUrl><![CDATA[".$data['url']."]]></MusicUrl>
ﻩﻩﻩ ﻩ<HQMusicUrl><![CDATA[".$data['hqurl']."]]></HQMusicUrl>
ﻩ </Music>
ﻩﻩﻩﻩ <FuncFlag>".$flag."</FuncFlag>
ﻩﻩﻩ ﻩ</xml>";
ﻩecho$tpl;
}
*/
function audio($fu,$tu,$data,$flag =0){
ﻩ$numﻩ=ﻩcount($data);
ﻩif($num>1){
ﻩ$add = $this->audio_add($data);
ﻩ$tpl =" <xml>
ﻩﻩ ﻩﻩ<ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩ <FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩ ﻩﻩ<CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩﻩﻩﻩﻩ<MsgType><![CDATA[music]]></MsgType>
ﻩ ﻩ <Content><![CDATA[%s]]></Content>
ﻩ <MusicCount>".$num."</MusicCount>
ﻩ ﻩ <Musics>
ﻩ ﻩ ".$add."
ﻩ ﻩ </Musics>
ﻩ ﻩ <FuncFlag>".$flag."</FuncFlag>
ﻩﻩﻩﻩ </xml>";
ﻩﻩecho$tpl;
}else{
ﻩﻩ$tpl ="<xml>
ﻩ ﻩ <ToUserName><![CDATA[".$fu."]]></ToUserName>
ﻩﻩﻩﻩ<FromUserName><![CDATA[".$tu."]]></FromUserName>
ﻩﻩ <CreateTime>".$_SERVER['REQUEST_TIME']."</CreateTime>
ﻩﻩﻩﻩ <MsgType><![CDATA[music]]></MsgType>
ﻩ ﻩ <Content><![CDATA[%s]]></Content>
ﻩﻩ ﻩﻩ <MusicCount>1</MusicCount>
ﻩ ﻩ <Musics>
ﻩ <item>
ﻩﻩﻩﻩ <Title><![CDATA[".$data['title']."]]></Title>
ﻩﻩ ﻩ<Description><![CDATA[".$data['intro']."]]></Description>
ﻩﻩﻩﻩﻩ<MusicUrl><![CDATA[".$data['url']."]]></MusicUrl>
ﻩﻩ ﻩ <HQMusicUrl><![CDATA[".$data['hqurl']."]]></HQMusicUrl>
ﻩﻩ ﻩﻩ</item>
ﻩ ﻩﻩ </Musics>
ﻩ <FuncFlag>".$flag."</FuncFlag>
ﻩ ﻩﻩﻩ</xml>";
ﻩ echo$tpl;
ﻩ}
}
functionaudio_add($data){
$add = "";
foreach ($data as $k){
ﻩ$addﻩ.= "<item>
ﻩ ﻩ<Title><![CDATA[".$data['title']."]]></Title>
ﻩﻩﻩ<Description><![CDATA[".$data['intro']."]]></Description>
<MusicUrl><![CDATA[".$data['url']."]]></MusicUrl>
ﻩ ﻩ<HQMusicUrl><![CDATA[".$data['hqurl']."]]></HQMusicUrl>
ﻩ ﻩ </item>";
}
return$add;
}
publicfunctionreceiveEvent($object)
{
ﻩ$contentStr="ok!";
ﻩ$fu=(string)$object->FromUserName;//取出顾客的账号
ﻩ$tu =(string)$object->ToUserName; //公众账号
txt($fu,$tu,'begin receiveEvent',0);
/*
ﻩ switch($object->Event)
{
ﻩcase"subscribe":
ﻩ$contentStr="欢迎关注清华纸飞机传媒";
break;
ﻩcase"unsubscribe":
ﻩbreak;
case"CLICK"://$postObj->EventKey;
ﻩtxt($fu,$tu,'答复数字0~50课程号,收听机灵狗英文启蒙课程');
switch($object->EventKey)
{
case"leve0":
ﻩtxt($fu,$tu,'答复数字0~50课程号,收听机灵狗英文启蒙课程');
//$contentStr[]= array("Title"=>"机灵狗启蒙英文读物",
ﻩﻩ //"Description"=>"输入数字1~50,听取课程",
ﻩﻩ //"PicUrl"=>"",
ﻩﻩ //"Url"=>"weixin://addfriend/pondbaystudio");
ﻩbreak;
case"leve1":
ﻩ$contentStr[]= array("Title"=>"机灵狗启蒙英文读物",
ﻩ "Description"=>"输入数字1~50,听取课程",
ﻩﻩ"PicUrl"=>"",
ﻩﻩ "Url"=>"");
ﻩbreak;
default:
ﻩ$contentStr[]=array("Title"=>"默认菜单答复",
ﻩ "Description" =>"您正在使用的是自定义菜单测试接口",
ﻩﻩﻩ"PicUrl"=>"",
ﻩﻩ"Url"=>"");
ﻩbreak;
}
ﻩbreak;
default:
txt($fu,$tu,'receiveEventdefault');
break;
}
if(is_array($contentStr)){
ﻩ$resultStr =news($fu,$tu, $contentStr);
ﻩ}else{
$resultStr=txt($fu,$tu,$contentStr,0);
ﻩ//txt($fu,$tu,'你发送了数字 0,因此你就看到了这样多 。');
ﻩ//txt($fu,$tu,'你发送的内容是。'.$content);
}
ﻩ*/
ﻩreturn $resultStr;
}
privatefunctiontransmitText($object,$content,$funcFlag =0)
{
$textTpl= "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>";
$resultStr=sprintf($textTpl,$object->FromUserName,$object->ToUserName,time(),$content, $funcFlag);
ﻩreturn $resultStr;
}
private functiontransmitNews($object,$arr_item,$funcFlag =0)
{
ﻩ//首条标题28字,其她标题39字
ﻩif(!is_array($arr_item))
ﻩ return;
$itemTpl= " <item>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
";
ﻩ$item_str ="";
ﻩforeach($arr_itemas$item)
$item_str .=sprintf($itemTpl, $item['Title'],$item['Description'], $item['PicUrl'],$item['Url']);
$newsTpl= "<xml>
ﻩ<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
ﻩ<MsgType><![CDATA[news]]></MsgType>
ﻩ<Content><![CDATA[]]></Content>
<ArticleCount>%s</ArticleCount>
ﻩ<Articles>
$item_str</Articles>
<FuncFlag>%s</FuncFlag>
</xml>";
ﻩ$resultStr=sprintf($newsTpl,$object->FromUserName,$object->ToUserName,time(),count($arr_item), $funcFlag);
return $resultStr;
}
publicfunctionresponseMsg()
{
//获取post数据
//$postStr= $GLOBALS["HTTP_RAW_POST_DATA"];
$postStr=isset($GLOBALS["HTTP_RAW_POST_DATA"])?$GLOBALS["HTTP_RAW_POST_DATA"] :"";//运用三目运算符,使用isset函数检测变量与否已经设立或者存在(使用数组时,其索引有也许不存在,例如此例的HTTP_RAW_POST_DATA也许不存在)
//解析post数据