为了账号安全,请及时绑定邮箱和手机立即绑定

关注公众号的时候有时候有回复信息,有时候没有。收到的少 大部分都收不到 求解答

<?phpnamespace app\index\controller;class Index{
    public function index()    {        
    //1.将timestamp,nonce,toke按字典顺序排序  		
    $timestamp = $_GET['timestamp'];  		
    $nonce = $_GET['nonce'];  		
    $token = 'weixin';  		
    $signature = $_GET['signature'];  		
    $array = array($timestamp,$nonce,$token);  		
    //2.将排序后的三个参数拼接之后用sha1加密  		
    $tmpstr = implode('',$array);  		
    $tmpstr = sha1($tmpstr);  		
    //3.将加密后的字符串与signature进行对比,判断该请求是否来自微信  		
    if($tmpstr == $signature && $_GET['echostr']){		    
    header('content-type:text');		      
    // 第一次接入微信API接口		    
    echo $_GET['echostr'];  		    
    exit;  		
    } else{
    	$this->responseMsg();		}    }    
    	/*接受事件推送并回复*/    
    	public function responseMsg()    {			
    	$postArr = file_get_contents("php://input");	        
    	libxml_disable_entity_loader(true);	        
    	$postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);			
    	// 判断该数据包是否是订阅的时间推送			
    	if(strtolower($postObj->MsgType) == 'event'){				
    	// 如果是关注subscribe事件				
    	if(strtolower($postObj->Event) == 'subscribe'){					
    	// 回复用户信息					
    	$toUser = $postObj->FromUserName;					
    	$fromUser = $postObj->ToUserName;					
    	$time = time();					
    	$Msgtype = 'text';					
    	// $Content = '相信自己,你的选择是对的。';					
    	$Content = '相信自己,你的选择是对的';					
    	$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);
    	//后面的值将会按顺序填到$template里面的%s					
    	echo $info;				}			}    }}

正在回答

1 回答

少了个sort($array);加上测一下

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关注公众号的时候有时候有回复信息,有时候没有。收到的少 大部分都收不到 求解答

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号