日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

微信關(guān)注公眾號(hào)與輸入內(nèi)容自動(dòng)回復(fù)開發(fā)實(shí)例代碼

時(shí)間:2017-05-08 10:31:07 類型:PHP
字號(hào):    

關(guān)注微信或者向微信公眾號(hào)發(fā)送信息, 都可以自動(dòng)回復(fù)內(nèi)容,開發(fā)模式下怎么寫php代碼呢?

這里以CI框架控制器里示例下, 當(dāng)然如果你是其它框架, 或者是原生PHP, 那么直接里面的代碼拷貝出來, 做相應(yīng)的替換就可以了


class Wx extends CI_Controller {
	
	private $wx_token = "zhuangzi";
	private $AppID    = "wx6833ed680a3432af";
	private $AppSecret = "3faeb8577cc8f2728732a1e5e0291107";
	
	public function index()
	{
	 	if(!isset($_GET["echostr"]))
		{  //驗(yàn)證過了, 就沒有echostr參數(shù)了
     		$this->responseMsg();   //關(guān)注公眾號(hào)/輸入hello都將會(huì)自動(dòng)回復(fù)
		}else{ 
 			$this -> _check_signature();//驗(yàn)證消息的確來自微信服務(wù)器
                        //驗(yàn)證代碼: http://tjegd.cn/news/show/169
		} 
	}

	public function responseMsg(){
	 //get post data, May be due to the different environments
  		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信發(fā)來的XML數(shù)據(jù)
  		//extract post data
 		if(!empty($postStr)){
   		//解析post來的XML為一個(gè)對(duì)象$postObj
   		$postObj      = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  	    $fromUsername = $postObj->FromUserName; //請(qǐng)求消息的用戶
        $toUsername   = $postObj->ToUserName; //"我"的公眾號(hào)id
        $keyword      = trim($postObj->Content); //消息內(nèi)容
        $time = time(); //時(shí)間戳
        $msgtype = 'text'; //消息類型:文本
        $event = $postObj->Event;
        $textTpl = "<xml>
  					<ToUserName><![CDATA[%s]]></ToUserName>
  					<FromUserName><![CDATA[%s]]></FromUserName>
  					<CreateTime>%s</CreateTime>
  					<MsgType><![CDATA[%s]]></MsgType>
  					<Content><![CDATA[%s]]></Content>
  					</xml>";
  		if($event == "subscribe"){
  			$contentStr = '歡迎光臨莊子公眾號(hào)';
    		$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
    		echo $resultStr;
    		exit();
  		}
  		if($keyword == 'hello'){
  			//輸入 hello 將會(huì)回復(fù)的內(nèi)容
   				$contentStr = 'hello world!!!';
   				$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype,$contentStr);
   		 		echo $resultStr;
   		 		exit();            
   		}
   		else{
    		$contentStr = '現(xiàn)在只回復(fù)輸入 hello, 其它的俺還暫時(shí)還不理人喲';
    		$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
    		echo $resultStr;
    		exit();
  			 }
 
 		 }
 		 
 		}

微信關(guān)注自動(dòng)回復(fù)代碼下載