600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php 微信公众号开发 基于 PHP 的微信公众平台开发

php 微信公众号开发 基于 PHP 的微信公众平台开发

时间:2019-12-14 13:26:30

相关推荐

php 微信公众号开发 基于 PHP 的微信公众平台开发

一、服务器配置

申请微信公众平台,进入管理界面。开发 -> 基本配置,在服务器配置面板中点击修改配置,URL是你的服务器地址(http://myserver/index.php),Token随便设置一个字符串(hello),EncodingAESKey随机生成,消息加密方式选择“明文模式”。

二、测试

在web服务器访问目录下创建index.php文件,内容如下:

define("TOKEN", "YoonPer"); //TOKEN值

$wechatObj = new wechat();

$wechatObj->valid();

class wechat {

public function valid() {

$echoStr = $_GET["echostr"];

if($this->checkSignature()){

echo $echoStr;

exit;

}

}

private function checkSignature() {

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$token = TOKEN;

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ) {

return true;

} else {

return false;

}

}

}

?>

点击提交,验证成功的话回到配置界面,点击“开启”。如果提示“token验证失败”,可以在echo $echoStr;语句前加入ob_clean()。因为在输出$echoStr之前可能会有一些缓存内容,需要先清除,否则影响微信公众平台的识别。

三、通信

微信公众平台与后台服务器采用xml格式通信:

粉丝发给公众号消息格式

1460537339

6272960105994287618

公众号发给粉丝消息格式

1460541339

例子:

// index.php [ 微信公众平台接口 ]

$wechatObj = new wechat();

$wechatObj->responseMsg();

class wechat {

public function responseMsg() {

//---------- 接 收 数 据 ---------- //

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取POST数据

//用SimpleXML解析POST过来的XML数据

$postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName; //获取发送方帐号(OpenID)

$toUsername = $postObj->ToUserName; //获取接收方账号

$keyword = trim($postObj->Content); //获取消息内容

$time = time(); //获取当前时间戳

//---------- 返 回 数 据 ---------- //

//返回消息模板

$textTpl = "

%s

0

";

$msgType = "text"; //消息类型

$contentStr = 'hello'; //返回消息内容

//格式化消息模板

$resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo $resultStr; //输出结果

}

}

?>

本作品采用《CC 协议》,转载必须注明作者和本文链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。