搜尋
首頁微信小程式微信開發微信公眾號範本訊息群發php程式碼範例

這篇文章主要為大家詳細介紹了微信公眾號範本訊息群發php程式碼範例,具有一定的參考價值,有興趣的小夥伴們可以參考一下

微信範本訊息只能發給一個人,如果要群發,需要通過php循環,依序發送。

注意,如果模板訊息發送訊息時有時無,不穩定,可能你的access_token令牌更新快取不及時,過期了.可以根據日誌檔案查看.建議300秒更新一下.否則會很煩.

模板id需要自己去公眾號中設置行業後得到.

 <?php 
 //使用方法.直接在页面的逻辑中增加fahuo_wechat();即可.函数要事先引用. 
 function fahuo_wechat($shopid){ 
      if(_cfg("sendmobile")){ 
      $thisdb = System::load_sys_class("model"); 
      $access= getAccessToken();//模板id api等 
     
    $access_token=$access[&#39;access_token&#39;]; 
    $template_id = $access[&#39;template_id&#39;]; 
    $sql = "select * from `@#_member_go_record` where `shopid`=&#39;$shopid&#39; and status = &#39;已付款,未发货,未完成&#39;"; 
    $row = $thisdb->GetList($sql); 
     
    $postUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$access_token"; 
    foreach($row as $k=>$v){ 
    $uid=$v[&#39;uid&#39;]; 
    $member_band = $thisdb->GetOne("SELECT b_code,b_data FROM `@#_member_band` WHERE `b_uid` = &#39;$uid&#39; and b_data!=&#39;&#39; "); 
        //if(empty($member_band)){return false;} 
        //return $row ; 
      if(!empty($member_band[&#39;b_data&#39;])){ 
 
$url=WEB_PATH."/mobile/user/buyDetail/".$shopid; 
$mobile=$v[&#39;company_money&#39;]; 
      $data = array( 
 
        "touser" => $member_band[&#39;b_code&#39;],//一次只发一个人 
 
        "template_id"=>$template_id, 
 
        "url"=>$url,  
//回调 
        "data" => array( 
 
          &#39;first&#39; =>array( 
 
            "value"=>"您好,".$v[&#39;username&#39;].",您的牌局已组建成功。", 
 
            "color"=>"#888", 
 
            ), 
 
          "keyword1"=>array( 
 
            "value"=>$v[&#39;shopname&#39;], 
 
            "color"=>"#888", 
 
            ), 
//echo date(&#39;Y-m-d H:i:s&#39;,$itemlist[0][&#39;q_end_time&#39;]) 
          "keyword2"=>array( 
 
            "value"=>date(&#39;Y-m-d H:i:s&#39;,$v[&#39;time&#39;]), 
 
            "color"=>"#888", 
 
            ), 
 
          "keyword3"=>array( 
 
            "value"=>"20分钟", 
 
            "color"=>"#888", 
 
            ), 
 
          "keyword4"=>array( 
 
            "value"=>round($v[&#39;moneycount&#39;])."金豆", 
 
            "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.&#39;access_token.json&#39;;   
   
  $data = json_decode(file_get_contents($path),true); 
  //print_r($data);exit; 
  if ($data[&#39;expire_time&#39;] < time()) {//过期时间小于当前时间,说明过期,需要更新 
    $appid=$data[&#39;appid&#39;]; 
    $appsecret=$data[&#39;appsecret&#39;]; 
   $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[&#39;access_token&#39;]; 
   if ($access_token) { 
      $thisdb = System::load_sys_class("model"); 
    $wechat= $thisdb->GetOne("select * from `@#_wechat_config` where id = 1");// 获取appid 
     
    $data[&#39;expire_time&#39;] = time() + 300;//5分钟更新一次.一天请求微信500多次,不超过2000次的限额就行.  
    //这里的300最好不要设置的过大.否则会经常提示令牌过期,没法发消息.官方说2小时过期.其实是骗人的.远远达不到. 
    $data[&#39;access_token&#39;] = $access_token; 
    $data[&#39;template_id&#39;]=$wechat[&#39;template_id&#39;]; 
    $data[&#39;appid&#39;]=$wechat[&#39;appid&#39;]; 
    $data[&#39;appsecret&#39;]=$wechat[&#39;appsecret&#39;]; 
    $fp = fopen($path, "w"); 
    fwrite($fp, json_encode($data)); 
    fclose($fp); 
   } 
  }  
  return $data; 
 } 
  function https_request($url,$data = null,$mobile=&#39;&#39;){ 
 
    $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,说明一定是没发送成功.所以要把不成功的放在日志中.方便找原因. 
{ 
$path1 = G_CACHES.&#39;access_token2.json&#39;;//access_token2.json为日志保存目录,请对应修改. 
 file_put_contents($path1, $output,FILE_APPEND);//FILE_APPEND表示用追加的方式保存日志 
} 
 
    if(strstr($output,"40003")&&$mobile)//如果是40003说明,,客户没关注我们,发信息提醒他. 
{ 
_sendmobile($mobile,&#39;请关注我们的公众号.否则收不到微信约牌通知,谢谢。&#39;);// 
} 
  
    curl_close($curl); 
 
    return json_decode($output); 
 
  } 
   
      //判断用户名是否是普通管理员 
 function is_gly($name){ 
if(strstr($name,"gly")) 
{ 
  return true; 
} 
else 
{ 
  return false; 
} 
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援PHP中文網。

更多微信公眾號範本訊息群發php程式碼範例相關文章請關注PHP中文網!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境