


This article mainly introduces in detail the WeChat public account template message mass sending php code example, which has certain reference value. Interested friends can refer to it
WeChat template messages can only be sent to If a person wants to send a group message, he needs to loop through php and send it in sequence.
Note that if the template message is intermittent and unstable, your access_token token update cache may not be timely and expired. You can check it according to the log file. It is recommended to update it every 300 seconds. Otherwise it will be very annoying. .
The template id needs to be obtained by setting the industry in the public account.
<?php //使用方法.直接在頁面的邏輯中增加fahuo_wechat();即可.函數(shù)要事先引用. function fahuo_wechat($shopid){ if(_cfg("sendmobile")){ $thisdb = System::load_sys_class("model"); $access= getAccessToken();//模板id api等 $access_token=$access['access_token']; $template_id = $access['template_id']; $sql = "select * from `@#_member_go_record` where `shopid`='$shopid' and status = '已付款,未發(fā)貨,未完成'"; $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['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'],//一次只發(fā)一個(gè)人 "template_id"=>$template_id, "url"=>$url, //回調(diào) "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"=>" 點(diǎn)擊查看詳情", "color"=>"#054ff7", ), ), ); https_request($postUrl,json_encode($data),$mobile);//發(fā)貨通知的內(nèi)容.發(fā)給微信服務(wù)器 } //發(fā)送的發(fā)貨提示的字符串組合成功.準(zhǔn)備發(fā)送. } } } //微信發(fā)貨準(zhǔn)備 function getAccessToken() { // access_token 應(yīng)該全局存儲(chǔ)與更新,以下代碼以寫入到文件中做示例 $path = G_CACHES.'access_token.json'; $data = json_decode(file_get_contents($path),true); //print_r($data);exit; if ($data['expire_time'] < time()) {//過期時(shí)間小于當(dāng)前時(shí)間,說明過期,需要更新 $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最好不要設(shè)置的過大.否則會(huì)經(jīng)常提示令牌過期,沒法發(fā)消息.官方說2小時(shí)過期.其實(shí)是騙人的.遠(yuǎn)遠(yuǎn)達(dá)不到. $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();//初始化一個(gè)CURL會(huì)話 curl_setopt($curl, CURLOPT_URL, $url);//這是你想用PHP取回的URL地址。你也可以在用curl_init()函數(shù)初始化時(shí)設(shè)置這個(gè)選項(xiàng) 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); //傳遞一個(gè)作為HTTP “POST”操作的所有數(shù)據(jù)的字符串。 } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //講curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。 $output = curl_exec($curl); if(!strstr($output,":0")) //如果微信發(fā)信后的回執(zhí)中不包含:0,說明一定是沒發(fā)送成功.所以要把不成功的放在日志中.方便找原因. { $path1 = G_CACHES.'access_token2.json';//access_token2.json為日志保存目錄,請對應(yīng)修改. file_put_contents($path1, $output,FILE_APPEND);//FILE_APPEND表示用追加的方式保存日志 } if(strstr($output,"40003")&&$mobile)//如果是40003說明,,客戶沒關(guān)注我們,發(fā)信息提醒他. { _sendmobile($mobile,'請關(guān)注我們的公眾號.否則收不到微信約牌通知,謝謝。');// } curl_close($curl); return json_decode($output); } //判斷用戶名是否是普通管理員 function is_gly($name){ if(strstr($name,"gly")) { return true; } else { return false; } }
The above is the entire content of this article. I hope it will be helpful to everyone. Learning is helpful, and I hope everyone will support the PHP Chinese website.
For more WeChat public account template message mass sending php code examples and related articles, please pay attention to the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
