查看报告";
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;
}
?>