千家信息网

如何使用php代码实现微信公众号模板消息群发

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"如何使用php代码实现微信公众号模板消息群发",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用php代码实现微信公众号模板消
千家信息网最后更新 2026年11月01日如何使用php代码实现微信公众号模板消息群发

这篇文章主要为大家展示了"如何使用php代码实现微信公众号模板消息群发",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用php代码实现微信公众号模板消息群发"这篇文章吧。

微信模板消息只能发给一个人,如果要群发,需要通过php循环,依次发送。

注意,如果模板消息发信息时有时无,不稳定,可能你的access_token令牌更新缓存不及时,过期了.可以根据日志文件查看.建议300秒更新一下.否则会很烦.

模板id需要自己去公众号中设置行业后得到.

 GetList($sql);          $postUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$access_token";     foreach($row as $k=>$v){     $uid=$v['uid'];     $member_band = $thisdb->GetOne("SELECT b_code,b_data FROM `@#_member_band` WHERE `b_uid` = '$uid' and b_data!='' ");         //if(empty($member_band)){return false;}         //return $row ;       if(!empty($member_band['b_data'])){  $url=WEB_PATH."/mobile/user/buyDetail/".$shopid; $mobile=$v['company_money'];       $data = array(          "touser" => $member_band['b_code'],//一次只发一个人          "template_id"=>$template_id,          "url"=>$url,  //回调         "data" => array(            'first' =>array(              "value"=>"您好,".$v['username'].",您的牌局已组建成功。",              "color"=>"#888",              ),            "keyword1"=>array(              "value"=>$v['shopname'],              "color"=>"#888",              ), //echo date('Y-m-d H:i:s',$itemlist[0]['q_end_time'])           "keyword2"=>array(              "value"=>date('Y-m-d H:i:s',$v['time']),              "color"=>"#888",              ),            "keyword3"=>array(              "value"=>"20分钟",              "color"=>"#888",              ),            "keyword4"=>array(              "value"=>round($v['moneycount'])."金豆",              "color"=>"#888",              ),            "keyword5"=>array(              "value"=>"待定",              "color"=>"#888",              ),            "remark"=>array(              "value"=>" 点击查看详情",              "color"=>"#054ff7",              ),          ),        );   https_request($postUrl,json_encode($data),$mobile);//发货通知的内容.发给微信服务器       }                   //发送的发货提示的字符串组合成功.准备发送.                  }     }   }     //微信发货准备        function getAccessToken() {   // access_token 应该全局存储与更新,以下代码以写入到文件中做示例   $path = G_CACHES.'access_token.json';        $data = json_decode(file_get_contents($path),true);   //print_r($data);exit;   if ($data['expire_time'] < time()) {//过期时间小于当前时间,说明过期,需要更新     $appid=$data['appid'];     $appsecret=$data['appsecret'];    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";    $json=getCurl($url);    $data= json_decode($json,true);    //print_r($res);exit;    $access_token = $data['access_token'];    if ($access_token) {       $thisdb = System::load_sys_class("model");     $wechat= $thisdb->GetOne("select * from `@#_wechat_config` where id = 1");// 获取appid          $data['expire_time'] = time() + 300;//5分钟更新一次.一天请求微信500多次,不超过2000次的限额就行.      //这里的300最好不要设置的过大.否则会经常提示令牌过期,没法发消息.官方说2小时过期.其实是骗人的.远远达不到.     $data['access_token'] = $access_token;     $data['template_id']=$wechat['template_id'];     $data['appid']=$wechat['appid'];     $data['appsecret']=$wechat['appsecret'];     $fp = fopen($path, "w");     fwrite($fp, json_encode($data));     fclose($fp);    }   }    return $data;  }   function https_request($url,$data = null,$mobile=''){      $curl = curl_init();//初始化一个CURL会话      curl_setopt($curl, CURLOPT_URL, $url);//这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);      if (!empty($data)){        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);     //传递一个作为HTTP "POST"操作的所有数据的字符串。      }      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);     //讲curl_exec()获取的信息以文件流的形式返回,而不是直接输出。      $output = curl_exec($curl);      if(!strstr($output,":0"))  //如果微信发信后的回执中不包含:0,说明一定是没发送成功.所以要把不成功的放在日志中.方便找原因. { $path2 = G_CACHES.'access_token2.json';//access_token2.json为日志保存目录,请对应修改.  file_put_contents($path2, $output,FILE_APPEND);//FILE_APPEND表示用追加的方式保存日志 }      if(strstr($output,"40003")&&$mobile)//如果是40003说明,,客户没关注我们,发信息提醒他. { _sendmobile($mobile,'请关注我们的公众号.否则收不到微信约牌通知,谢谢。');// }       curl_close($curl);      return json_decode($output);    }          //判断用户名是否是普通管理员  function is_gly($name){ if(strstr($name,"gly")) {   return true; } else {   return false; }   }

以上是"如何使用php代码实现微信公众号模板消息群发"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

模板 消息 公众 代码 成功 内容 日志 更新 文件 篇文章 个人 令牌 字符 字符串 行业 准备 学习 帮助 提示 普通 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技图片 深圳九邦互联网科技有限公司 科技互联网龙头 互联网中国科技 互联网科技与金融科技 互联网 卓越科技 唐信互联网科技 朗涯互联网科技 互联网 视角下的科技创新 郑州华宇互联网科技 玖二柒互联网科技公司待遇 移动互联网科技公司 互联网媒体平台算高科技产业 燊美集互联网科技有限公司 工业互联网等科技实现智能化赋能 工业互联网山东科技大学 互联网方面的科技前沿 富国互联网金融科技混合基金 艺电能源互联网科技有限公司招聘 互联网大会出现的黑科技 互联网金融 金融科技 北京大学互联网科技怎么样 昊天互联网科技有限公司 徐州市互联网科技有限公司 美国互联网科技公司 卡尔迅互联网科技有限公司 互联网科技包装股份有限公司上市 九思连强互联网电子科技有限公司 互联网科技大会大佬 数字科技和互联网金融哪个好
0