PHP对接微信公众号实现简单自动回复[PHP教程]

功能比较简单,当用户在公众号下留言,将留言的关键词带到数据库查询并返回查询结果。
反正是以比较简单的代码做的,代码运行环境随便可以运行PHP就行。
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <head>
  5. <meta charset="utf-8">
  6. </head>
  7. <?php
  8. require_once "defs.php";
  9. function index()
  10. {
  11. $timestamp = $_GET['timestamp'];
  12. $nonce = $_GET['nonce'];
  13. $token = 'hongming'; //公众号里面配置的token
  14. $signature = $_GET['signature'];
  15. $echostr = $_GET['echostr']; //每一次都要验证, 只有第一次验证才会有 echostr
  16. $array = array( $timestamp, $nonce, $token);
  17. sort( $array );
  18. //2.将排序后的三个参数拼接之后用sha1加密
  19. $tempstr = implode('', $array);
  20. $tempstr = sha1( $tempstr );
  21. //3.将加密后的字符串与signature进行对比,判断该请求是否来自微信
  22. if( $tempstr == $signature && $echostr){ //启动服务器配置 会进入到这里
  23. echo $_GET['echostr'];
  24. exit();
  25. }else{
  26. reponseMsg(); //这里是 启用成功后, 接受事件用的
  27. }
  28. }
  29. function reponseMsg(){
  30. $postStr = file_get_contents("php://input");
  31. //根据事件,进行自己的逻辑代码吧 请开始你的表演
  32. if (!empty($postStr)){
  33. $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  34. $fromUsername = $postObj->FromUserName;
  35. $toUsername = $postObj->ToUserName;
  36. $msgtype = $postObj->MsgType;
  37. $keyword = trim($postObj->Content);
  38. $time = time();
  39. $textTpl = "<xml>
  40. <ToUserName><![CDATA[%s]]></ToUserName>
  41. <FromUserName><![CDATA[%s]]></FromUserName>
  42. <CreateTime>%s</CreateTime>
  43. <MsgType><![CDATA[%s]]></MsgType>
  44. <Content><![CDATA[%s]]></Content>
  45. <FuncFlag>0<FuncFlag>
  46. </xml>";
  47. if(!empty( $keyword ) & $msgtype == "text") //文本判断
  48. {
  49. $msgType = "text";
  50. $contentStr = sousuo($keyword);
  51. $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  52. echo $resultStr;
  53. }
  54. if($msgtype=='event'){ // 关注判断
  55. $msgType = "text";
  56. $contentStr = "感谢您的关注!";
  57. $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  58. echo $resultStr;
  59. }
  60. else // 其他类型消息判断
  61. {
  62. $msgType = "text";
  63. $contentStr = "回复关键词可以查询影视资源哦!";
  64. $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  65. echo $resultStr;
  66. }
  67. }
  68. }
  69. index();
  70. ?>
  71. </body
  72. </html>

 其他的可以去看看官方的开发文档。

PHP对接微信公众号实现简单自动回复[PHP教程]-度崩网-几度崩溃

 

Wordpress

[WP博客主题] 国人基于Bootstrap自适应WordPress主题:Barley

2019-8-9 13:41:35

PHP

[调试逆向] PHP解密:zym加密 带乱码调试过程

2019-12-17 17:51:15

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索