快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

如何用php实现简单微信文本通讯

这篇文章主要讲解了“如何用php实现简单微信文本通讯”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用php实现简单微信文本通讯”吧!

创新互联客户idc服务中心,提供绵阳机房托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

一、准备工作

  1. 注册开发者账号并创建应用

在进入微信公众平台开发页面之前,需要有一个微信账号和一个已认证的公众号。创建公众号后需要到“开发-基本配置”页面获取公众号的AppID和AppSecret,同时在“服务器配置”中设置开发者模式的url和token。

  1. 安装必要的PHP库

使用PHP实现微信通讯需要安装PHP的curl扩展库和simplexml扩展库。在Linux系统下,使用命令 sudo apt-get install php-curl php-simplexml 即可进行安装。

  1. 搭建开发环境

使用任何一种代码编辑器搭建开发环境,建议使用PHPStorm或Sublime Text。代码中用到的URL和Token等需要与微信公众号的配置相对应。

二、获取微信用户发送的文本消息

在微信公众号的“服务器配置”中必须配置URL和Token,URL指向我们编写的php接收消息的处理程序,Token是与URL对应的身份验证。

文本消息的接受和处理过程如下:

  1. 验证消息的确来自微信服务器

当用户向公众号发送消息时,在微信服务器端会将消息发送到您事先填写的URL上,如果在“服务器配置”中开启了“接收消息并打印消息加密前的XML”选项,则会马上在页面上打印出这个XML文件。以下代码就是用来验证消息是否来自微信服务器的函数。

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
$wechatObj->responseMsg();
} else {
$wechatObj->valid();
}
class wechatCallbackapiTest
{
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;
}
}
}

以上代码逻辑非常简单,当我们访问这个php处理程序时,如果访问带有echostr参数的url,会执行valid()函数。在这个函数里判断signature的值是否合法,如果合法则返回 echostr的值。如果访问的url没有echostr参数,那么直接执行 responseMsg()函数。

  1. 回复文本消息

回复文本消息需要在微信公众号“服务器配置”中配置URL和Token,URL指向我们编写的php处理程序,Token是与URL对应的身份验证。

private function receiveText($postObj)
{
$content = "欢迎您关注XX公司官方微信公众号,我们会竭诚为您服务!";
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$time = time();
$textTpl = "


%s


0
";
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $content);
echo $resultStr;
}

以上代码里的receiveText函数可以接收用户发送的文本消息,并回复固定的欢迎文字。您可以根据业务需求更改回复的文本内容。

感谢各位的阅读,以上就是“如何用php实现简单微信文本通讯”的内容了,经过本文的学习后,相信大家对如何用php实现简单微信文本通讯这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:如何用php实现简单微信文本通讯
文章出自:http://6mz.cn/article/jdeihp.html

其他资讯