123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <meta charset="utf-8">
- <?php
- $uniacid=$_GET['uniacid'];
- $keyword=$_GET['keyword'];
- $t=$_GET['t'];
-
- if(file_exists("temp/".$t."_baogao.html")){
- //已经发送过
-
- echo "已经发送完成 <a href='temp/".$t."_baogao.html'>查看报告</a>";
- exit;
- }else
- {
- if ((time()-$t)>60){
- echo '链接已经失效.请重新生成发送列表.';
- exit;
- }
-
- }
-
- // echo substr($keyword,0,10);
- $tousername=$_GET['tousername'];
- $file = file_get_contents("json/{$tousername}_token.json",true);
- $result = json_decode($file,true);
- $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$result['access_token'];
- //判断有没有缓存.
- //echo $url.'<br>';
- $json = file_get_contents('json/'.$uniacid.'_keywords.json');//读取key列表
- $keys = json_decode($json,true);
- $json = file_get_contents('json/'.$uniacid.'_keys.json');//读取数字key列表
- $numkeys = json_decode($json,true);
-
- if (file_exists("json/".$uniacid."_user.json"))
- { $json = file_get_contents("json/".$uniacid."_user.json");
- $arr1 = json_decode($json,true);
- $arr= array_keys($arr1);//openid
- $i=0;
- $j=0;
- $result = substr ($keyword, -1);
- // echo 'result:'.$result.'<br>';
- if($result=='|'){//如果是图文群发.
- $gjz=substr($keyword,0,strlen(trim($keyword))-1);
- // echo 'gjz:'.$gjz;
- // echo '<br>';
-
- if(is_numeric($gjz)){
- $send=$keys[$numkeys[$gjz]];
- }
- else {
- $send=$keys[$gjz]; //$keys['关于我们'];
- }
- // echo '<br>'.json_encode($send).'<br>';
-
- }
-
- $sendbak=$send;
-
-
- $cg=$cg."消息".$keyword.":<br>";
- $cg=$cg."发送报告:<br>";
- foreach ($arr as $arr){ //群发--
-
- if($result=='|'){
- $send['touser']=$arr;
- $nickname=$arr1[$arr]['nickname'];
- //logger('--'.$arr1[$arr]['id']);
-
- if($nickname==''){$nickname='会员'.$arr1[$arr]['id'];}
-
- if ($send['link']['title']!=''){
- $send['link']['title']=str_replace('[id]',$arr1[$arr]['id'],$sendbak['link']['title']);
- $send['link']['title']=str_replace('[name]', trim($nickname),$send['link']['title']);
- }
- if ($send['miniprogrampage']['title']!=''){
- $send['miniprogrampage']['title']=str_replace('[id]',$arr1[$arr]['id'],$sendbak['miniprogrampage']['title']);
- $send['miniprogrampage']['title']=str_replace('[name]', trim($nickname),$send['miniprogrampage']['title']);
- }
- if ($send['text']['content']!=''){
- $send['text']['content']=str_replace('[id]',$arr1[$arr]['id'],$sendbak['text']['content']);
- $send['text']['content']=str_replace('[name]',trim($nickname),$send['text']['content']);
- $send['text']['content']=changeurl($send['text']['content']);
- }
-
-
-
-
- $data2=json_encode($send,JSON_UNESCAPED_UNICODE);
- }else{
- $nickname=$arr1[$arr]['nickname'];
- $data2='{ "touser":"'.$arr.'", "msgtype":"text",
- "text": { "content":"'.$nickname.':'.$keyword.'" } }'; //当没有约定好的回复时,这么回复。
- }
-
- // echo $data2.'<br>';
- $bbb = http_post_data($url, $data2);
- $i++;
- $zt=json_decode($bbb, true)['errcode'];
- if ($zt==0) {$j++; }
- switch ($zt){
- case 0: $zhuangtai='<font color=red>成功</font>';
- break;
- case -1: $zhuangtai='系统繁忙';
- break;
- case 40003: $zhuangtai='openid不对';
- break;
-
- case 45015: $zhuangtai='用户下线';
- break;
- case 45047: $zhuangtai='用户超额';
- break;
-
- default: $zhuangtai='未知原因'.$zt;
-
- }
- $cg= $cg.' '.$arr1[$arr]['id'].$arr1[$arr]['nickname'].' :'.$zhuangtai.'<br>';
- } //发完
-
- $cg=$cg."消息发送报告: [消息总数:".$i."] 发送成功:".$j." ";
- echo $cg;
- $cg='<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <meta charset="utf-8">'.$cg;
- $res=@file_put_contents("temp/".$t."_baogao.html", $cg);
-
- }
-
- function http_post_data($url, $data_string) {
-
- set_time_limit ( 0 );
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
- curl_setopt($curl, CURLOPT_HTTPHEADER, array(
- 'Content-Type: application/json',
- 'Content-Length: ' . strlen($data_string))
- );
- $data = curl_exec($curl);
- curl_close($curl);
- return $data;
- }
-
- function changeurl($a){
- $bi= strpos($a,'[[');
- if ($bi==0){
- return $a;
- }else{
- $ei= strpos($a,']]');
- $qb=substr($a,0,$bi);
- $eb=substr($a,$ei+2);
- $b=substr($a,$bi+2,$ei-$bi-2);
- $ci=strpos($b,'|');
- $add=substr($b,0,$ci);
- $herf=substr($b,$ci+1,strlen($b)-$ci);
- }
- return $qb."<a href='".$herf."'>".$add."</a>".$eb;
- }
- ?>
|