php微信公众号开发3php实现简单微信文本通讯

微信开发前,需要设置token,这个是微信设置的,可以任意设置,用来实现微信通讯。这里有一个别人写的微信类,功能还比较不错。weixin.class.PHP代码如下

rush:PHP;"> public function __construct($token,$debug)
{
$this->token = $token;
$this->debug = $debug;
}
//获得用户发过来的消息(消息内容和消息类型 )
public function getMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

if (!empty($postStr)) {
$this->msg = (array)simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$this->msgtype = strtolower($this->msg['MsgType']);
}
}
//回复文本消息
public function makeText($text='')
{
$CreateTime = time();
$FuncFlag = $this->setFlag ? 1 : 0;
$textTpl = "

msg['FromUserName']}]]> msg['ToUserName']}]]> {$CreateTime} %s "; return sprintf($textTpl,$text,$FuncFlag); }

//根据数组参数回复图文消息
public function makeNews($newsData=array())
{
$CreateTime = time();
$FuncFlag = $this->setFlag ? 1 : 0;
$newTplHeader = "

msg['FromUserName']}]]> msg['ToUserName']}]]> {$CreateTime} %s"; $newTplItem = " <![CDATA[%s]]> "; $newTplFoot = " %s "; $Content = ''; $itemsCount = count($newsData['items']); $itemsCount = $itemsCount < 10 ? $itemsCount : 10;//微信公众平台图文回复的消息一次最多10条 if ($itemsCount) { foreach ($newsData['items'] as $key => $item) { if ($key<=9) { $Content .= sprintf($newTplItem,$item['title'],$item['description'],$item['picurl'],$item['url']); } } } $header = sprintf($newTplHeader,$newsData['content'],$itemsCount); $footer = sprintf($newTplFoot,$FuncFlag); return $header . $Content . $footer; } public function reply($data) {

echo $data;
}
public function valid()
{
if ($this->checkSignature()) {
if( $_SERVER['REQUEST_METHOD']=='GET' )
{
echo $_GET['echostr'];
exit;
}
}else{

exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];

$tmpArr = array($this->token,$timestamp,$nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}

}
?>

接着正式开发,使用百度SVN地址,创建weixinapi.PHP文件,这个根据你后台设置名称

rush:PHP;"> $weixin = new Weixin(TOKEN,DEBUG);//实例化
$weixin->getMsg();
$type = $weixin->msgtype;//消息类型
$keyword = $weixin->msg['Content'];//获取的文本
if ($type==='text') {
$reply = $weixin->makeText($key);
}elseif($type==='event'){//第一次关注推送事件
$reply = $weixin->makeText("欢迎关注");
}else{//其他类型
$reply = $weixin->makeText("暂时没有图片,声音,地理位置等功能,后续开发会增加,感谢你关注");
}

$weixin->reply($reply);

这样就实现了一个例子,第一次关注事件回复,非文本回复,以及文本回复,这里文本回复是你输入什么就返回什么。

具体实现功能就写在文本回复里面。

其他的功能暂时不做,具体开发下节再说。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


接入微信号对接步骤 第一步:后台添加产品->配置微信号->获取代码 第二步:复制代码加到页面</head>前面
逐条转发与合并转发的区别是什么
实现微信发布文章信息采集
微信公众号-获取用户信息(网页授权获取)实现步骤
php微信公众号开发(2)百度BAE搭建和数据库使用
java开发微信分享到朋友圈功能
php微信公众号开发(3)php实现简单微信文本通讯
C#微信公众号开发--微信事件交互
js微信分享API
PHP微信分享开发详解
C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息一
C# 微信公众号开发--准备工作
php版微信小店调用api示例代码
php微信公众号开发(4)php实现自定义关键字回复
微信小程序 教程之小程序配置
iOS实现类似微信和支付宝的密码输入框(UIKeyInput协议)
C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息二
php版微信小店API二次开发及使用示例
PHP微信刮刮卡
微信开发学习路线