编程语言PHP实现微信公众账号开发

编程语言PHP实现微信公众账号开发

1、首先需要一个可以外网访问的接口url。

  我这里是申请的新浪免费云服务器,http://xxxxx.applinzi.com/wx.php,具体自己可以去新浪云中心申请地址为:http://www.sinacloud.com

2、去微信公众账号申请个人的公众账号,地址为:https://mp.weixin.qq.com,然后进入到左侧菜单开发里面选择基本配置。

3、点击修改配置,填写必要的信息,认证如下图:

需要在wx.php里面写入认证代码,具体代码下文会提供。

4、等待认证成功后,启用配置

附详细代码:

  1 <?php  2 header('Content-type:text/html;charset=utf-8');  3 define("TOKEN", "这里是你在微信那里的token");  4 $wechatObj = new wechatCallbackapiTest();  5 $wechatObj->valid();  6   7 class wechatCallbackapiTest {  8     public function valid()  9     { 10         
       //这里是认证过程
       $echoStr = $_GET["echostr"]; 11         if($this->checkSignature() && $echoStr) { 12             echo $echoStr; 13             exit; 14         } else { 15             $this->responseMsg();//当认证成功后执行下面的代码 16         } 17     } 18  19     private function responseMsg() { 20  21         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 22         if (!empty($postStr)) { 23                 libxml_disable_entity_loader(true); 24                 $textTpl = " 25                              26                              27                             %s 28                              29                              30                             0 31                             "; 32                 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); 33                 //第一次关注的时候 34                 if (strtolower($postObj->MsgType) == 'event') { 35                     if (strtolower($postObj->Event) == 'subscribe') { 36                         $toUsername = $postObj->ToUserName; 37                         $fromUsername = $postObj->FromUserName; 38                         $time = time(); 39                         $msgType = "text"; 40                         $contentStr = "<>"; 41                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); 42                         echo $resultStr; 43                     } 44                 //关键字文本回复 45                 } else if ( strtolower($postObj->MsgType) == 'text' ) { 46                     if ( $postObj->Content == 'imooc' ) { 47                         $toUsername = $postObj->ToUserName; 48                         $fromUsername = $postObj->FromUserName; 49                         $time = time(); 50                         $msgType = "text"; 51                         $contentStr = "imooc is very good"; 52                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); 53                         echo $resultStr; 54                         exit; 55                     } else if ( $postObj->Content == '美丽说' ) { 56                         $array = array( 57                             array( 58                               'title' => 'meilishuo',  59                               'description'=> 'meilishuo is very good', 60                               'picurl' => 'http://d05.res.meilishuo.net/img/_o/67/24/65bc4ebfe22d0c2eca1702c9736c_117_43.ch.png', 61                               'url' => 'http://www.meilishuo.com' 62                             ) 63                         ); 64                         $imageTpl = " 65                                      66                                      67                                     %s 68                                      69                                     ".count($array)." 70                                     "; 71                         foreach ($array as $key => $value) { 72                             $imageTpl .= 73                                     " 74                                      75                                      76                                      77                                      78                                     ";  79                         } 80                         $imageTpl .= ""; 81                         $toUsername = $postObj->ToUserName; 82                         $fromUsername = $postObj->FromUserName; 83                         $time = time(); 84                         $msgType = "news"; 85                         $resultStr = sprintf($imageTpl, $fromUsername, $toUsername, $time, $msgType); 86                         echo $resultStr; 87                         exit; 88                     } 89         } 90  91         } else { 92             echo ""; 93             exit; 94         } 95  96     } 97  98     private function checkSignature() { 99         if (!defined("TOKEN")) {100             throw new Exception('TOKEN is not defined!');101         }102         103         $signature = $_GET["signature"];104         $timestamp = $_GET["timestamp"];105         $nonce = $_GET["nonce"]; 106         $token = TOKEN;107         $tmpArr = array($token, $timestamp, $nonce);108         sort($tmpArr, SORT_STRING);109         $tmpStr = implode( $tmpArr );110         $tmpStr = sha1( $tmpStr );111         return ($tmpStr == $signature) ? true : false;112    }113 }

文章来源:https://www.php.cn/faq/251670.html

百度网盘搜索
www.bdsoba.com
www.awaedu.com
阿哇教育
作文哥
www.zuowenge.cn
搜码吧
www.somanba.cn
phpWechat 是由一个具有多年行业开发经验的前端 UI 设计师、PHP开发工程师组成的团队设计、研发的一套的微信公众平台管理系统,您可以瞬间完成一个公共号或者PC站或者两者皆有的平台搭建。 phpWeChat 微信+网站开发框架功能亮点: 1、100%开源,没有任何加密文件 phpWeChat核心文件100%开源,没有任何加密文件,开发者可以放心使用而无需担心留有后门程序等。 2、程序轻量级,一天读完所有代码 核心框架压缩包只有2.66M,十分利于开发者迅速阅读全部代码。 3、代码严谨,结构清晰 phpWeChat使用MVC开发模式,各个功能模块之间独立并目录结构统一。开发者可迅速掌握phpWeChat的框架结构。 4、二次开发文档十分完善 我们提供了完善的phpWeChat二次开发文档,便于开发者学习与查阅。 5、高度集成微信接口 phpWeChat高度集成了微信公共号的自动回复、菜单管理、素材管理、模板消息、粉丝管理、微信支付等常用接口,您只需一个函数或2/3行代码即可实现原本需要很费时费力才能开发的功能。 6、phpWeChat也是一个PC(网站)开发框架和CMS 慢慢您会发现,phpWeChat是一个更接近CMS功能的框架。 7、高度封装常用开发功能 只需一两行固定的代码,您便可以写出列表分页、微信支付、文件上传、邮件发送、短信发送等功能。 8、数据结构合理,负载强劲 phpWeChat集成了常见的内存级缓存(MemCache)、文件缓存处理方案,使得系统更符合大数据、大并发的公共号或网站使用。 9、集成应用市场,功能拓展一瞬间 phpWeChat集成了应用市场并在线安装应用的功能,您可以在一瞬间安装完成其他开发开发的功能模块。 phpWeChat安装方法: 将下载的程序压缩包(zip格式)解压后,将全部文件和文件夹上传至网站根目录。然后输入域名/install.php 即可进入安装程序。 注意:安装phpWeChat前请先创建好phpWeChat所需的数据库。 phpWeChat 目录结构: addons 功能模块目录 admin 公用后台目录 api 插件目录 data 数据缓存目录 install 安装程序目录,安装后请改名或删除 include 公用操作类目录 statics 静态文件目录 template 视图(模板)目录 upload 上传文件存放目录 phpWeChat 更新日志: 新版v1.0.3发布: phpWeChat PC+微信公众号开发核心框架v1.0.3针对v1.0.2版本出现的问题,主要修复了和增加了以下功能: 1、优化自定义模块操作; 2、优化安装过程; 3、修复一处在线支付的PHP版本兼容问题; 4、修复一处自定义模块的问题; 5、修复后台模块管理显示未知版本的bug; 6、修复粉丝行为IP报错的Bug; 7、删除一些冗余代码; 8、修复消息模板不存在时,一直提示[同步中]的bug。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值