查看报告"; 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.'
'; $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.'
'; if($result=='|'){//如果是图文群发. $gjz=substr($keyword,0,strlen(trim($keyword))-1); // echo 'gjz:'.$gjz; // echo '
'; if(is_numeric($gjz)){ $send=$keys[$numkeys[$gjz]]; } else { $send=$keys[$gjz]; //$keys['关于我们']; } // echo '
'.json_encode($send).'
'; } $sendbak=$send; $cg=$cg."消息".$keyword.":
"; $cg=$cg."发送报告:
"; 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.'
'; $bbb = http_post_data($url, $data2); $i++; $zt=json_decode($bbb, true)['errcode']; if ($zt==0) {$j++; } switch ($zt){ case 0: $zhuangtai='成功'; 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.'
'; } //发完 $cg=$cg."消息发送报告: [消息总数:".$i."] 发送成功:".$j." "; echo $cg; $cg=' '.$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."".$add."".$eb; } ?>