千家信息网

PHP微信开发之如何实现文本自动回复功能

发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,这篇文章主要为大家展示了"PHP微信开发之如何实现文本自动回复功能",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP微信开发之如何实现文本自动回复功能"
千家信息网最后更新 2025年02月21日PHP微信开发之如何实现文本自动回复功能

这篇文章主要为大家展示了"PHP微信开发之如何实现文本自动回复功能",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP微信开发之如何实现文本自动回复功能"这篇文章吧。

首先,先去微信公众平台注册一个账号(注册要填的东西挺多的),注册好之后,登录进去。可以看到左侧的"开发者中心",开启开发者中心前好像还要你完善一些资料,按照步骤完善即可。进入开发者中心之后,先去编辑

修改配置,修改配置的时候,注意:


URL是你自己的域名下的PHP脚本(往下读有该脚本的demo),该脚本用于和微信接口对接。比如http://www.example.com/weixin.php

Token是上述脚本里的定义的一个常量,比如你的PHP脚本里定义了:

define("TOKEN", "my_weixin");

那么,在填写Token时,你就填abcdefgh

EncodingAESKey是消息加密用。你可以自己写一个43为的数字和字母的组合,也可以选择"随机生成",一般选择随机生成即可。

填好之后,保存(如果保存时,提示Token验证失败,那么请确认token一致并多点几次保存试试)。

保存好之后,点击修改配置旁的:"开启"。

然后,就可以编辑你的PHP脚本了。(如果你没有自己的域名,可以使用新浪云的免费的SAE,并最好完成实名认证)
demo的脚本如下:关注该公众平台(比如订阅号之后),功能是:输入hehe则返回hello world!!!如果输入其他字符,则返回输入heeh试试。

header('content-type:text/html;charset=utf-8');define("TOKEN", "my_weixin"); //define your token$wx = new wechatCallbackapiTest();if($_GET['echostr']){ $wx->valid(); //如果发来了echostr则进行验证}else{ $wx->responseMsg(); //如果没有echostr,则返回消息}class wechatCallbackapiTest{ public function valid(){ //valid signature , option  $echoStr = $_GET["echostr"];  if($this->checkSignature()){ //调用验证字段   echo $echoStr;   exit;  } } public function responseMsg(){   //get post data, May be due to the different environments  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信发来的XML数据  //extract post data if(!empty($postStr)){       //解析post来的XML为一个对象$postObj   $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);     $fromUsername = $postObj->FromUserName; //请求消息的用户   $toUsername = $postObj->ToUserName; //"我"的公众号id   $keyword = trim($postObj->Content); //消息内容   $time = time(); //时间戳   $msgtype = 'text'; //消息类型:文本   $textTpl = "      %s      ";  if($keyword == 'hehe'){    $contentStr = 'hello world!!!';    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);    echo $resultStr;    exit();               }else{    $contentStr = '输入hehe试试';    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);    echo $resultStr;    exit();   }  }else {   echo "";   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; } }}

如果发送消息,系统提示:该公众平台暂时不能提共服务,请稍后再试。那么多半是代码语法有问题,检查好语法错误再试试。

附:

在新用户关注你的公众号时,自动返回信息:(把这段代码加在判断$keyword之前)。

   if($postObj->MsgType == 'event'){ //如果XML信息里消息类型为event    if($postObj->Event == 'subscribe'){ //如果是订阅事件     $contentStr = "欢迎订阅misaka去年夏天!\n更多精彩内容:http://www.php.cn/";     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);     echo $resultStr;     exit();    }   }

以上是"PHP微信开发之如何实现文本自动回复功能"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

消息 脚本 开发 公众 内容 功能 文本 输入 验证 平台 开发者 篇文章 订阅 配置 代码 信息 域名 字段 更多 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 王牌战争进服务器背景房子怎么建 湖北嘟嘟网络技术有限公司 计算机网络安全原理视频课 网络安全课之保护珍爱自己 加强网络安全的宣传语 成都服务器管理公司有哪些 .net 服务器软件开发 数据库2012怎么开 网络安全宣传日内容 黄冈敬秆网络技术有限公司 青岛北京搜房网络技术有限公司 云计算网络安全工程师前景 云顶之弈端游经常无法连接服务器 显示数据库不同表的内容 舒城职业学校网络安全证书 每服务器 每设备 发布历史数据库设计 中国互联网科技不是高科技 恐龙岛主播阿雷是哪个服务器 思科服务器安全教程 上饶bim软件开发工程 网络安全产品的配置与使用 计算机网络技术为什么不能报二建 材料配送系统软件开发 希望之星网络技术有限公司 网络安全检查自查、整改报告 新兴无线传感网络技术 湖南软件开发定制平台 服务器开机后风扇会转吗 信息通信技术运营管理软件开发
0