php 微信公众号开发,基于 PHP 的微信公众平台开发
一、服务器配置
申请微信公众平台,进入管理界面。开发 -> 基本配置,在服务器配置面板中点击修改配置,URL是你的服务器地址(http://myserver/index.php),Token随便设置一个字符串(hello2017),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 协议》,转载必须注明作者和本文链接
php 微信公众号开发,基于 PHP 的微信公众平台开发相关推荐
- 微信公众号可快速创建“门店小程序” 不用开发
"门店小程序"是啥?"门店小程序"是小程序的一项新能力.无需开发,商户就可在微信公众号后台快速创建"门店小程序".这个小程序类似一张&quo ...
- 微信公众号-java上传图片素材到微信服务器基于事件推送两条消息
微信公众号-java上传图片素材到微信服务器&基于事件推送两条消息 场景:基于微信扫码登录/关注事件,向用户推送两条消息. 分析:翻阅了微信开发者文档和一些其他资料发现,公众号针对用户关注/扫 ...
- ngrok内网穿透工具搭建,方便微信公众号,小程序、钉钉等开发【已投入使用】
前言:微信公众号,小程序.钉钉等开发需要内网穿透工具. 1.经过不断的摸索和调试,完成ngrok内网穿透的工具的搭建,对于微信公众号,小程序.钉钉等开发提供便利性. 2.搭建环境Linux cento ...
- 微信小程序使用微信公众号的模板消息进行消息推送开发流程
微信小程序使用微信公众号的模板消息进行消息推送开发流程 微信公众号服务号,微信公众号订阅号,微信公众号开发者平台,微信小程序 这些的账号都是独立的不能共用 微信开放平台开发者资质认证审核费用为300元 ...
- NET C#微信个人号 HOOK 基于微信2.8.0版本 全接口 微信机器人 淘宝客 二次开发
pc微信客户端 2.8.0 最新版本 hook 可二次开发 c#调用 2020年03月10日 Update 经过大量测试,现升级协议,最新支持微信PC2.8.0.106.新增了http回调域名配置. ...
- 公众号openid实时存储mysql_微信--高效解决token及授权用户openid的持久化处理办法...
摘要 关于微信开发的话题,例子确实已经有不少,但大部分都是人云亦云,很多小细节或者需要注意的地方却大多没有讲清楚,这令很多刚开始开发的人感觉大很迷茫.而我今天要说的话题,主要着眼于两个方面. 一:如何 ...
- 搜索python设计题的微信公众号_appium+python自动化42-微信公众号 (可能以后会遇到也遇到切换不了webview的问题 记录再此 还没试)...
前言 本篇介绍如何在微信公众号上自动化测试,以操作我的个人公众号:yoyoketang为例,没关注的,先微信关注了,再跟着操作 环境准备: python 3.6 appium 1.7以上版本 微信6. ...
- php微信公众号支付实例教程,php微信支付之公众号支付功能
这篇文章主要为大家详细介绍了php微信支付之公众号支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 网上的很多PHP微信扫码支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后 ...
- 关于微信公众号页面获取code进行微信授权登录
关于微信公众号页面获取code进行微信授权登录 前言 提示:本文章为个人平时开发中的一些坑,对于新手可以耐心看一下,如果您感觉可以的话,请点个小星星再走吧,多谢了~~~ 提示:以下是本篇文章正文内容( ...
- 未来应用陈鸿:被微信封掉公众号后怎么办?给微信创业者的10点真诚建议
责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_ ...
最新文章
- 新型混合共识机制及抗量子特性的 Hcash 主链测试链即将上线
- zencart 1.5.4 安装问题
- SSISDB6:参数和环境变量
- python多个装饰器执行顺序_Python面试题之多个装饰器执行顺序
- 一文带你吃透Vue生命周期(结合案例通俗易懂)
- 热烈庆祝我主编的计算机四级等级考试书籍出版!
- Visual Studio 2019下用 C# 实现 Hill2 二阶希尔密码 的加密、解密 GUI界面
- 计算机学会a类论文是sci吗,sci分区和ccf分区的区别
- STM32F0xx系列 基于LL库的Flash模拟EEPROM
- 仿淘宝Banner:左右滑动ViewPager+最后一张滑动查看详情
- 走进C++11(四十)最宽松的顺序 memory_order_relaxed 内存模型(三)
- 云计算——交换机基本原理与配置
- Swift-Moya 源码解析
- VR乒乓球项目Unity3D 开发经验整理,1总纲
- 用sync toy做增量备份
- 从BIM到GIS(高级)| IFC LOD 200转LOD 3 CityGML
- MEC的云边协同分析
- 微信强制加入群软件!易语言协议版,公开源码
- db.properties 之 root 之空格
- html怎么把按钮做成可以百度,网站网页中加入各种分享按钮功能 百度分享
热门文章
- 【重识云原生】第六章容器6.3.5节——Controller Manager概述
- (HTTP 503) (Request-ID: req-4f56de6f-d29c-4c44-aed3-e6ef8253384a)
- unity3d Android客户端与PC服务器实现Socket通信(wifi)
- 自动透视校正为四边形对象
- Chapter 6-Blurring Things Up之Using Alpha Channel
- learning java AWT Pannel
- mysql数据库设置密码
- 交叉表 mysql_mysql交叉表查询解决方案整理
- Windows下的MySQL实例没有mysql.user表#Olivia丶长歌#
- 安卓一体机开发板,安卓主板广告机