2016-01-07 18:24:11 3678次浏览 0条回答 1 悬赏 10 金钱

不知道说什么好。直接噻代码。

<?php
/**
 * <p>File:WechatController.php</p>
 * <p>Description:接入微信公众平台开发、Token验证、消息回复</p>
 * <p>Copyright: Copyright (c) 2016年1月7日 下午15:31:18</p>
 * <p>Company: umeke.com.cn</p>
 * @author 肖建利
 * @version 1.0
 */

namespace app\controllers;

use yii\web\Controller;

class WechatController extends Controller{
    //服务器配置调用
    public function actionIndex(){
        //设置Token为常量
        define("TOKEN", "umeke");
        
        //判断微信验证传递过来数据
        if(isset($_GET["echostr"])){//如果有数据将验证(第一次接口配置信息时使用)
            $this->actionValid();
        }else{//如果没有传递过来数据将相应用户发送过来的数据
            $this->actionResponsemsg();
        }
        
    }
    //接受到的数据(也可以称相应数据)
    public function actionResponsemsg(){
        
        //获取后数据,可能是由于不同的环境,用户在发送数据的时候数据格式是用XML来接收就要用这个函数了,不能用POST
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
        
        //提取后数据
        if (!empty($postStr)){
                //该函数检查自己的有效性来防止XML外部实体注入
                libxml_disable_entity_loader(true);
                //simplexml_load_string()函数是将数XML字符串转成对象
              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); 
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[%s]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							<FuncFlag>0</FuncFlag>
							</xml>";             
				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;
        }
    }

}
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
心灵艺术
总监

心灵艺术 广东陆丰

注册时间:2016-01-06
最后登录:2024-11-01
在线时长:34小时59分
  • 粉丝3
  • 金钱1945
  • 威望20
  • 积分2485

热门问题