各位大神 求微信关注后自动回复图文 PHP代码

我用的如下代码。。。不知道哪里错了 PHP小白 token验证是通过的 目的是关注公众号后自动发一个图文 求助啊 正确的应该怎么写

<?php
define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->valid();

class wechatCallbackapiTest
{

public function valid()

{

    $echoStr = $_GET["echostr"];


    //valid signature , option

    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"];


    //extract post data

$tmpstr = $postArr;

    //处理消息,并设置回复类型
    $postObj = simplexml_load_string($postArr);
    if(strtolower($postObj->MsgType)=='event'){


             if (strtolower($postObj->MsgType) == "text" && trim($postObj->Content == "单图文")){

          $toUser    =  $postObj->FromUserName;

          $fromUser  =  $postObj->ToUserName;

          $array = array(
              array(
                "title"=>"XXX",
                "description"=>"XXXXXXX",
                "picUrl"=>"httpXXXXn1.jpg",
                "url"=>"httpsXXX.com/",
              ),
          );

          $template  =  "<xml>
                        <ToUserName><![CDATA[%s]]></ToUserName>
                        <FromUserName><![CDATA[%s]]></FromUserName>
                        <CreateTime>%s</CreateTime>
                        <MsgType><![CDATA[%s]]></MsgType>
                        <ArticleCount>".count($array)."</ArticleCount>
                        <Articles>";

          foreach ($array as $key => $v) {
              $template  .= "<item>
                            <Title><![CDATA[".$v['title']."]]></Title>
                            <Description><![CDATA[".$v['description']."]]></Description>
                            <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>
                            <Url><![CDATA[".$v['url']."]]></Url>
                            </item>";
          }


          $template.= "</Articles></xml>";

          $time     = time();

          echo  sprintf( $template,$toUser,$fromUser,$time,"news");
 }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;

    }

}

}

?>

0

3个回答

0

<?php
header("Content-type: text/html; charset=utf-8"); 
$nonce = $_GET['nonce'];
$token = 'winxin';
$timestamp = $_GET['timestamp'];
if (isset($_GET['echostr'])) {
    if (bindServerCheck()) {
        echo $_GET['echostr'];
    }
    exit();
}
responseMsg();

 //消息回复
function responseMsg() {
    //1.获取到微信推送过来post数据(xml格式)
    $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
    //2.处理消息类型,并设置回复类型和内容
    $postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);
    //判断该数据包是否是订阅de事件推送
    if (strtolower($postObj->MsgType) == 'event') {
        //如果是关注 subscribe事件
        if (strtolower($postObj->Event) == 'subscribe') {
            $toUser = $postObj->FromUserName;
            $fromUser = $postObj->ToUserName;
            $time = time();
            $msgType = 'text';
            $content = '欢迎关注我的微信公众号 test 123';

 
             //修改为
              if (is_utf8($content)) {
                $content = $content;
              } else {
               $content = iconv('gb2312', 'UTF-8//IGNORE', $content);
              }

            $template = "
                            <![CDATA[%s]]>
                            <![CDATA[%s]]>
                            %s
                            <![CDATA[%s]]>
                            <![CDATA[%s]]>
                            ";
            $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);
            echo $info;
        }
    }
}

// 开发者模式绑定校验
function bindServerCheck($token) {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $tmpArr = array(
        $token,
        $timestamp,
        $nonce
    );
    sort($tmpArr);
    $tmpStr = implode($tmpArr);
    $tmpStr = sha1($tmpStr);
    if ($tmpStr == $signature) {
        return true;
    } else {
        return false;
    }
}

  function to_utf8($in) 

        if (is_array($in)) { 
            foreach ($in as $key => $value) { 
                $out[to_utf8($key)] = to_utf8($value); 
            } 
        } elseif(is_string($in)) { 
            if(mb_detect_encoding($in) != "UTF-8") 
                return utf8_encode($in); 
            else 
                return $in; 
        } else { 
            return $in; 
        } 
        return $out; 

 function is_utf8($str)
{
  return preg_match('//u', $str);
}

?>

0

这个还要自己调试,很麻烦的
推荐一个微信认可的第三方平台
大鬼图文助手
http://open.vip666.cloud`

很好用的
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
微信公众号新关注后自动回复8条图文外连完整PHP源码
微信公众号新关注后自动回复8条图文外连完整PHP源码,可以用此源码直行涨粉其它号
微信公众平台消息自动回复+图文自动php
微信公众平台消息自动回复+图文自动php。简答的基础案例代码,即拿即用!
关于微信自动回复图文消息
回复图文消息需要在前台页面多加入几个字段,标题,内容,访问地址......我们需要建一个news表,用来储存表单提交的数据,回复的关键字依然放在rlue表中。在后台写一个方法replynews,代码如下:public function replyNews(){n if(IS_GET){n $this-&amp;gt;display();n }else{n $result=I('post.');...
微信公众号首次关注自动回复图文信息
微信公众号首次关注回复图文信息配置步骤rn 1、登录微信公众号rn 2、在右侧菜单栏,单击《自动回复》rn [img]http://dl2.iteye.com/upload/attachment/0118/4146/a8f2809b-e24f-3924-8df5-e073ee8102a3.png[/img]rn rn rn 3、在《被添加自动...
微信公众号首次关注自动回复图文消息
一、 进入关键词自动回复添加规则nn二、 修改规则名为任意字符,如“图文”(必填)nn三、 添加关键词,输入代码 “Hello2BizUser”,点击确定nn四、 点击图文符号,并勾选所需推送图文nn五、 点击保存(可能会出现短暂白屏,属正常现象)
微信公众号实现回复图文消息
图文消息的主要参数说明nn通过微信官方的消息接口指南,可以看到对图文消息的参数介绍,如下图所示:nnnn从上图可以了解到:nn1、图文消息的个数限制为10,也就是图文中ArticleCount的值(图文消息的个数,限制在10条以内)nn2、对于图文消息,第一条图文的图片显示为大图,其他图文的图片显示为小图。nn3、第一条图文的图片大小建议为640*320,其他图文的图片建议为80*80nn下面开始...
微信开发之自动回复图文消息
基于 laravel框架的微信公众号的自动回复功能。主要是图文消息和文本类型
tp5微信开发(二) ---- 微信关键字自动回复,图文回复,关注自动回复
关于微信接入第三方域名进行业务开发的相关说明已在另外一篇做了说明,这里不做赘述,接入步骤请移步nnhttps://blog.csdn.net/qq_27987023/article/details/82861521nn本篇示范微信交互过程中的几个基础事件,主要判断标准参数为$postObj-&amp;gt;MsgType,分别介绍当用户对公众号上传一个图片,回复一个文本以及关注事件的几个推送,其他诸如音乐...
Hello2BizUser的方法失效了之后,如何设置微信公众号关注后自动回复图文消息和自定义链接?
Hello2BizUser的方法失效了之后,如何设置微信公众号关注后自动回复图文消息和自定义链接?rn导言rnHello2BizUser的方法失效了之后,如何设置微信公众号关注后自动回复图文消息和自定义链接?通过网站:open.vip666.cloud,简单2步,让公众号自动回复图文内容。rn不需要懂得抓包、编程、开发。rn文盲也能使用的方法!rn正文rn第一步:在微信公众平台准备好素材,打开网站并授权rn1、...
自动回复图文消息
在微信公众号上,我们发送不同的关键字可以得到不同的回复,例如文本,图片,图文。那么我们就说说图文是怎么实现的吧。调用借口https 请求方式: POSTnhttps://api.weixin.qq.com/cgi-bin/material/add_news?access_token=ACCESS_TOKEN回复图文的控制器“articles”:[{n “title”: TITLE,n “thumb...
微信公众号图文消息回复
公众号配置(内网穿透工具)nnnnnnnnnnnn保存access_token到本地(因为他有过期时间7200)nnnn回复图片消息nn获取medio_idnnnnn
【微信开发】公众号自动回复文字和图文链接
需求在公众号内的输入任意文字,文字相关的第三方网站链接实现简单后台设置我们在微信公众平台上,是可以进行简单的自定义消息回复的。这里的显然不能满足我们的需求。配置服务器配置域名略配置测试服务器略。和一般我们配置项目没有区别,所以不再赘述。本次我们的测试域名是 http://wxtest.coderfix.cn/index.php验证Token在微信的公众后台的开发 / 基本配置 / 填写服务器配置中我
微信开发(PHP实现订阅号的公众号配置和自动回复)
    首先在微信公众平台(网址:https://mp.weixin.qq.com)申请一个订阅号,然后在开发里找到开发者工具点击公众平台测试账号,在测试账号内进行微信开发实验。    1. 设置一个自己的有效的域名网址和TOKEN(就是暗号),TOKEN一定要与PHP代码中的TOKEN验证一致否则会一直配置失败(写有这段代码的文件一定要传到有效的域名网址内。与设置的网址必须相同)。    下面是...
微信公众平台 JAVA开发代码(实现菜单,自动回复,关注事件等)
微信公众平台,开发者模式下的Java实现。实现菜单,自动回复,关注事件等!利用SpringMVC框架实现。如有疑问,可以关注我的博客~
微信公众号二次开发实现自动回复文字,图片,图文功能
微信公众号二次开发实现自动回复文字,图片,图文功能自动回复文字或图片:      表单里需要有关键字和内容。但就这两个字段也需要在两个数据表里分别显示,因为要提前准备字段内容里有可能是图片,图文等等类型。所以数据库里需要建一个回复类型表:例如mp_reply_text,mp_reply_image,mp_reply_news....,另一个建立公众号响应规则表:例如mp_reply_rule。这两...
关于微信开发的自动回复之图文消息
//回复图文n public function addNews(){n $mp=$this-&amp;gt;mp;n $keyword=I('post.keyword');n $title=I('post.title');n $description=I('post.content');n $url=I('post.url');n //相对路径-&amp;gt;绝对路径n $file=realpat...
微信关注 自动回复 关注消息 php
&amp;lt;?phpheader(&quot;Content-type: text/html; charset=utf-8&quot;); $nonce = $_GET['nonce'];$token = 'winxin';$timestamp = $_GET['timestamp'];if (isset($_GET['echostr'])) {    if (bindServerCheck()) {        ec...
微信公众号自动回复图片信息
1、微信公众号自动回复图片消息—回复用户发送过来的图片rn&amp;amp;lt;xml&amp;amp;gt;rn &amp;amp;lt;ToUserName&amp;amp;gt;&amp;amp;lt; ![CDATA[toUser] ]&amp;amp;gt;rn &amp;amp;lt;/ToUserName&amp;amp;gt;rn &amp;amp;lt;FromUserName&amp;amp;gt;&amp;amp;lt; ![CDATA[fromUser] ]&am
微信公众号开发 同时回复用户多条信息(包括图片和文字)
相信对于大多数的微信公众号开发的初学者来说,由于微信提供的文档过于简洁,所以这无疑是对我们的巨大考验。n但是,苦心人,天不负。在强烈的“我能行”这一自我暗示下,经过在各大网站上的查询、电子书籍类的读阅,经过无数次的尝试,终于能够实现一次事件同时回复用户多条信息的功能了。额,不说废话了,下面展示我的最终成果。 n(公众号是接管过来自己开发的)n首先,创建公众号子菜单的点击事件n const
C#开发微信公众号实现消息自动回复
作为计算机学院的学生的学生,时刻在打计算机学院官网的主意,前段时间我的一个好基友在我面前炫耀他的能够查课表的公众号(服务模拟登录返回数据),把我眼红得,所以我暗自下决心,自己一定要弄个微信公众号来玩玩儿。经过各种网上查资料,各种走弯路,还是实现了微信公众号机器人聊天功能。虽然这个很简单,但是网上完善而又详细的资料很难找,而且官网的开发文档只针对php语言发布了Demo,开发者文档简直坑爹,不过我还是忍不住分享出来,嘿嘿,下面我就开始分享我的经验了。,虽然很简单,但不要嘲笑我
微信小程序客服实现自动回复图文消息链接,点击去关注公众号
微信小程序开发交流qq群 173683895nn 承接微信小程序开发。扫码加微信。nnnn用户打开客服消息,发送任意消息自动回复图文链接,达到关注公众号的目的。nn先看效果:nnnn打开芝麻小客服的后台,选择一键接入小程序智能客服点击跳转nn1.授权接入nn如果你是小程序超级管理员,小程序类别非小游戏,选授权接入方式nn2.密码接入nn①添加小程序信息:小程序名称,小程序类别,小程序...
微信公众号之自动回复文字 -- PHP
 nn首先得设置一个 可以接受 微信服务器 发过来 的东西的 无权限  的接收信息的网址nn怎么设置自己去官方文档上看看nn微信公众号开发文档链接nn nn然后微信 会 发个东西来 验证一下你 的这个网址是否正确nn具体验证操作代码如下nn/**n     * 微信接入n     */n    function sss() {n        //$this-&amp;gt;responseMsg();n...
开启微信公众号自动回复
第一步:开启这里
公众号设置关键字自动回复图文
设置自动回复,首先你要建立两个表,让两个表通过一个字段(reply_id)进行链接,然后在两个表设置关键字和回复的内容即可。。。一,文字回复首先你要先进行链接显示的页面然后就需要根据页面里面的字段在后端用方法进行添加(添加到2个不同的数据表中)在该页面的后面写JS代码进行控制(即添加成功后更新该页面)最后在LaneWeChat里面的wechatrequest.lib.php文件编写链接表和回复的内...
关于微信公众号自动回复文本、图片以及图文
1.微信公众号自动回复文本:       首先我们应该增加reply_id以及内容(content)到数据表rh_mp_reply_text,然后根据reply_id查找表rh_mp_rule的信息关键字。然后我们在回复信息的那个方法里写入以下代码:        case 'text':n $reply=M('mp_reply_t...
微信接口测试代码,回复文本,图文,图片内容
微信文本,图文,图片信息调用
微信公众号开发——关注公众号自动回复
我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以。 n n如图所示,我们无法直接使用此功能。那么接着上一个博客,我们完成了关键词自动回复功能,博文地址如下: nhttp://blog.csdn.net/karry_zzj/article/details/78451901实现自动回复的机制就是: n一旦用户给公众号一个触发(有可能发了一段文字
【微信公众号开发】自我学习第二章:关注事件触发的自动回复
新用户关注微信公众平台,将产生一个订阅事件,即subscribe事件,默认代码中没有对这一事件进行相应回复处理。n n 在新用户关注公众平台后,可能想知道该平台提供了哪些功能,以及怎样使用该平台,通俗一点讲就是该平台的“使用说明书”。例如下图两个服务号的处理: 微信目前提供了五种消息类型,分别为:n n 文本消息(text); n 图片消息(image); n 地理位置消息(locat
微信公众号--开发模式之用户关注后自动回复(Java实现)
微信公众号开发–关注后自动回复(Java记录篇) rn最终效果如下: rn
JAVA微信公众号开发之自动回复消息与图片
首先,应该建立一个消息与图片的实体,看一下微信公众号的文档:nnnn回复文本消息nnn &lt;xml&gt;nn &lt;ToUserName&gt;&lt;![CDATA[toUser]]&gt;&lt;/ToUserName&gt;nn &lt;FromUserName&gt;&lt;![CDATA[fromUser]]&gt;&lt;/FromUserName&gt;nn ...
asp微信关注自动图文回复
asp微信公众平台,关注自动回复。自己弄的,没问题的 下载后,通过微信接口验证后,修改token,就可以直接使用了
17.10.18 Java实现公众号关注自动回复图文
n n n 本文要点:nn1、在公众号开发模式下,用代码设置公众后关注自动回复图文n2、单击图文跳转自定义链接nn前提注意:nn1、使用javen开发公众号nhttps://gitee.com/javen205/weixin_guiden2、拥有一个测试号nhttps://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox...
微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
上篇文章主要介绍了URL、Token认证,以及使用免费的新浪SAE服务器搭建公众号的web应用。相信按照文章讲解,开发者们已经成功地完成了开发者公众号的配置。n上篇文章提到,URL还有一个作用:认证通过之后,URL就作为开发者服务器与微信服务器之间互动通信的桥梁。本篇文章就来实现此功能:关注开发者号时,自动回复文本消息。nnn一、URL的POST方法nn如果你看了WxApiContro
怎样自动回复文字、 图文 、图片 消息?
关注过微信公众号的都知道,当你输入一个关键字,会有相应的内容回复,有可能是文字,有可能是图片,也有可能是图文,作为程序员这些都是我们要做的,所以接下来要为大家介绍一下自动回复文字图片以及图文消息的相关代码。首先我们需要引进一个框架,通过这个框架,我们可以更容易,更简单一些。那就是LaneWeChat,没有的可以上网下载一下。新建一个AutoreplayController.class.php文件,...
node(koa)完成微信公众号自动回复功能
rnrn首先需要在微信公众平台 - 基础设置 - 设置服务器地址rnrnrn配置服务器地址时可能出现“参数错误,。。。。”的情况,可能是因为域名被拦截,不能使用。rn如果前端人员进行测试,可以使用ngrok,花生壳实现内网穿透,ip暴露出去,本人觉得花生壳相对稳定,推荐使用,但是需要花钱开通如果前端人员进行测试,可以使用ngrok,花生壳实现内网穿透,ip暴露出去,本人觉得花生壳相对稳定,推荐使用,但是需要花...
配置微信公众平台URL关注时自动回复
n//1、配置微信公众平台URLn nnn//配置微信平台URLnpublic function weixinURL(){n        //将timestamp,nonce,token按字典排序n        $timestamp =$_GET['timestamp'];n        $nonce     =$_GET['nonce'];n        $echostr   =$_GE...
C#微信公众号全攻略(4)--实现回复消息C#代码
接上文 这个函数把用户发来的内容交接给messageHelp来处理 最后返回messageHelp.ReturnMessageprivate void Handle(string postStr)n{n messageHelp help = new messageHelp(SqlConnectionString);n string responseContent = help.Retur
微信公众号关键词自动回复二条信息
造成原因:n微信公众平台默认绑定了一个自动回复插件“图灵机器人”,取消这个即可
PHPweixin微信开发(设置微信自动回复并添加到关联数据库)
这篇文章主要为大家详细介绍了PHP微信开发之简单实现文本,图片以及图文自动回复的相关资料。首先,先去微信公众平台注册一个账号,注册好之后,登录进去。可以看到左侧的“开发者中心”,开启开发者中心前好像还要你完善一些资料,按照步骤完善即可。进入开发者中心之后,先去编辑修改配置,修改配置的时候,注意:URL是你自己的域名下的PHP脚本。Token是上述脚本里的定义的一个常量,比如你的PHP脚本里定义了:...
java springmvc 微信公众平台自动回复乱码问题
这个问题我在网上找了半天,最后是在一个例子中找到了解决方法:n HttpServletResponse resp resp.setCharacterEncoding("UTF-8");n将HttpServletResponse的CharacterEncoding设置为UTF-8就行了n例子链接:点击打开链接
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 微信自动回复开发教程视频 python自动回复教程