课程/PHP/后端开发
PHP实现微信公众平台开发—提升篇
-
-
technoart
2019-01-07
回复响应消息
-
截图
0赞 · 0采集
-
-
挽风啊
2018-02-15
- 接收事件推送并回复之零三
完善代码
index()方法中判断是否为第一次进入接口(需加exit;)
如果不是,则执行$this->reponseMsg()
将正常执行下述代码
1、GLOBALS['HTTP_RAW_POST_DATA']:获取以post格式传递过来的xml.
2、simplexml_load_string();将xml转换为对象
3、sprint()格式化一个字符串给另一个字符串
-
截图
0赞 · 0采集
-
-
qq_博宁视觉_0
2018-01-28
- $postarr=$GLOBALS['HTTP_RAW_POST_DATA'];//获取微信post过来数据(xml格式)
sprintf(),
-
0赞 · 0采集
-
-
qq_Freedom影_04039816
2017-12-25
- 这里出错的原因是因为$postobj->ToUserName后面的逗号错了,应该是.才对
-
截图
0赞 · 0采集
-
-
qq_青茶_0
2017-11-02
- public function responseMsg(){
//1、获取到微信推送过来的POST数据(XML格式)
//$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
$postArr = file_get_contents("php://input");
//file_put_contents('b.xml', $postArr);
//2、接受了就开始处理了,这个函数把xml转换为一个对象
$postObj = simplexml_load_string($postArr);
if(strtolower($postObj->MsgType)=='event'){
if(strtolower($postObj->Event)=='subscribe'){
//回复用户消息
$touser = $postObj->FromUserName;
$fromuser = $postObj->ToUserName;
$time = time();
$content = '欢迎关注';
$MsgType = 'text';
$template = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$template = trim($template);
$info = sprintf($template,$touser,$fromuser,$time,$MsgType,$content);
echo $info;
}
}
}
-
0赞 · 0采集
-
-
haoshuohua
2017-07-26
- 注意大小写
-
截图
0赞 · 0采集
-
-
慕仙1522273
2017-04-27
- public function show(){
$postarr = $GLOBALS['HTTP_RAW_POST_DATA'];
$muban = $postarr;
$postobj = simplexml_load_string($postarr);
if(strtolower($postobj -> MsgType)== 'event'){
if (strtolower($postobj ->Event)=='subscribe'){
$touser = $postobj->FromUserName;
$fromuser = $postobj->ToUserName;
$time = time();
$MsgType='text';
$content='欢迎关注我的微信公众账号'."\n用户id".$postobj->FromUserName ."\n用户微信号".$postobj->ToUserName ."\n回复消息方式".$muban;
$template="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$info = sprintf($template,$touser,$fromuser,$time,$MsgType,$content);
echo $info;
}
}
}
-
0赞 · 0采集
-
-
小伙们都惊呆啦
2017-04-12
- 444
-
截图
0赞 · 0采集
-
-
小伙们都惊呆啦
2017-04-12
- 333
-
截图
0赞 · 0采集
-
-
qq_慕移动9142144
2017-03-14
- GLOBALS['HTTP_RAW_POST_DATA']:获取以post格式传递过来的xml.
simplexml_load_string();将xml转换为对象
sprint()格式化一个字符串给另一个字符串
-
1赞 · 2采集
-
-
fulcrum_逸凡
2017-03-12
- public function responseMsg(){
$postArr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postObj = simplexml_load_string( $postArr );
if( strtolower( $postObj->MsgType ) == 'event' ){
if( strtolower( $postObj->Event == 'subscribe' ) ){
$toUser = $postObj->FromUserName;
$fromUser = $postObj->ToUserName;
$time = time();
$msgType = 'text';
$content = '微信公众号:'.$fromUser.",\n你的微信openid是:".$toUser;
$template = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$info = sprintf( $template, $toUser, $fromUser, $time, $msgType, $content );
echo $info;
}
}
}
-
1赞 · 2采集
-
-
O_o旅途
2016-11-29
- 看见看见
-
截图
0赞 · 0采集
-
-
慕尼黑7276319
2016-11-17
- 水电费
-
0赞 · 0采集
-
-
慕粉4387975
2016-11-17
- sprintf()
-
0赞 · 0采集
-
-
qq_VergilLin_03572653
2016-09-11
- 111
-
0赞 · 0采集
-
-
慕码人9483690
2016-08-17
- 关注回复
-
0赞 · 0采集
-
-
luke_zhou
2016-07-01
- 订阅事件的接受与回复,用到的几个函数:
1、$GLOBALS['HTTPP_RAW_POST_DATA']
2、sprintf($arr,$1,$2)
3、simplexml_load_string($arr)
-
截图
1赞 · 1采集
-
-
张佳宁
2016-05-03
- http_row_data_post
-
0赞 · 0采集
-
-
张佳宁
2016-05-03
- spritf函数的使用
-
0赞 · 0采集
-
-
飞星孤月
2016-01-05
- 回复响应消息的拼接
-
截图
0赞 · 0采集
-
-
Aidcat
2015-12-14
- //获取到微信推送过来post数据(xml格式)
$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
//把xml的标签转化成对象
$postObj = simplexml_load_string($postArr);
//判断该数据包是否是订阅的事件推送
if( strtolower( $postObj->MsgType) == 'event'){}
//如果是关注 subscribe 事件
if( strtolower($postObj->Event == 'subscribe') ){
//回复用户消息(纯文本格式)
-
0赞 · 0采集
-
-
Tinywan
2015-10-24
- sprintf()函数可以解析XML文件(s%)自动添加内容:
格式sprintf($string,$param,....)
-
0赞 · 0采集
-
-
Tinywan
2015-10-24
- public function index(){
$nonce = $_GET['nonce'];
$token = 'weixin';
$timestamp = $_GET['timestamp'];
$echostr = $_GET['echostr'];
$signature = $_GET['signature'];
$array = array($nonce,$timestamp,$token);
sort($array);
$str = sha1(implode($array));
if($str == $signature && $echostr){
echo $echostr;
exit;
}else{
$this ->responemsg();
}
}
-
0赞 · 0采集
-
-
qq_往事如烟_2
2015-10-18
- 微信公众号响应事件
-
截图
0赞 · 1采集
-
-
qq_夏天_3
2015-09-30
- public function responemsg(){
//这个东西就可以把微信发来的消息给接收了,是一个XML
$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
file_put_contents('a.xml', $postArr);
//接受了就开始处理了,这个函数把xml转换为一个对象
$postObj = simplexml_load_string($postArr);
//$postObj->ToUserName 公众号
// $postObj->FromUserName openid
//$postObj->CreatTime 创建时间
// $postObj->MsgType 消息类型
//$postObj->Event
if(strtolower($postObj->MsgType)=='event'){
if(strtolower($postObj->Event=='subscribe')){
$touser = $postObj->FromUserName;
$fromuser= $postObj->ToUserName;
$time = time();
$content= '欢迎关注';
$MsgType = 'text';
$temp = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$temp = trim($temp);
$temp = sprintf($temp,$touser,$fromuser,$time,$MsgType,$content);
echo $temp;
-
0赞 · 1采集
-
-
qq_夏天_3
2015-09-30
- public function index(){
$nonce = $_GET['nonce'];
$token = 'weixin';
$timestamp = $_GET['timestamp'];
$echostr = $_GET['echostr'];
$signature = $_GET['signature'];
$array = array($nonce,$timestamp,$token);
sort($array);
$str = sha1(implode($array));
if($str == $signature && $echostr){
echo $echostr;
exit;
}else{
$this ->responemsg();
}
}
-
0赞 · 0采集