Share the example code for sending multiple messages continuously on WeChat

零下一度
Release: 2023-03-11 21:36:02
Original
13949 people have browsed it
  1 <?php  
  2     3 class Kefu{  
  4     private $appid;  
  5     private $appSecret;  
  6         7     function __construct($appid,$appSecret){  
  8         $this->appid = $appid;  
  9         $this->appSecret = $appSecret;  
 10     }  
 11        12     function returnKefu($openid,$content){  
 13         $access_token = $this->getAccessToken();  
 14         $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token";  
 15         $responseText = array("touser"=>$openid,"msgtype"=>"text","text"=>array("content"=>$content));  
 16         $responjson = json_encode($responseText);  
 17         $res = $this->httpPost($url,$responjson);  
 18         echo $res;  
 19     }  
 20     function returnPic($openid,$content){  
 21         $access_token = $this->getAccessToken();  
 22         $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token";  
 23         $responseText = array("touser"=>$openid,"msgtype"=>"image","image"=>array("media_id"=>"Xfh-2sT-4HHz0z1GrAgb1tlJowuAJuyI-O6AzFX_TT3UsZHwqdsjyUCY6GJGviMi"));  
 24         $responjson = json_encode($responseText);  
 25         $res = $this->httpPost($url,$responjson);  
 26         echo $res;  
 27     }  
 28        29    30        31     function getAccessToken(){  
 32         $file_ticket = "access_token.json";  
 33         if(!file_exists($file_ticket)){  
 34             $file = fopen($file_ticket,'w');  
 35         }  
 36         $data = json_decode(file_get_contents($file_ticket));  
 37         if($data){  
 38             //如果文件存在且内容过期   39             if($data->expires_in<time()){  
 40                 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appid&secret=$this->appSecret";  
 41                 $res = json_decode($this->httpGet($url));  
 42                 $access_token = $res->access_token;  
 43                 if($access_token){  
 44                     $data->expires_in = time() + 7000;  
 45                     $data->access_token = $access_token;  
 46                     $fp = fopen($file_ticket, "w");  
 47                     fwrite($fp, json_encode($data));  
 48                     fclose($fp);  
 49                 }  
 50             }else{  
 51                 //没有过期   52                 return $data->access_token;  
 53                    54             }  
 55         }else{  
 56             //文件存在,但是里面没有内容   57             $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appid&secret=$this->appSecret";  
 58             $res = json_decode($this->httpGet($url));  
 59                 $access_token = $res->access_token;  
 60                 if($access_token){  
 61                     @$data->expires_in = time() + 7000;  
 62                     $data->access_token = $access_token;  
 63                     $fp = fopen($file_ticket, "w");  
 64                     fwrite($fp, json_encode($data));  
 65                     fclose($fp);  
 66                 }  
 67         }  
 68         return $access_token;  
 69         //return $data;   70     }  
 71     function httpGet($url){  
 72         $ch = curl_init();  
 73         curl_setopt($ch, CURLOPT_URL,$url);  
 74         // curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");   75         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
 76         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
 77         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');  
 78         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
 79         curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  
 80         // curl_setopt($ch, CURLOPT_POSTFIELDS, $data);   81         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
 82    83         $temp = curl_exec($ch);  
 84         curl_close($ch);  
 85         return $temp;  
 86     }  
 87        88     function httpPost($url,$data){  
 89         $ch = curl_init();  
 90         curl_setopt( $ch, CURLOPT_URL, $url);    
 91         curl_setopt( $ch, CURLOPT_POST, 1 );    
 92         curl_setopt( $ch, CURLOPT_HEADER, 0 );    
 93         curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );    
 94         //服务器没有使用https的话就不用下面两行     95         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    
 96         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);    
 97         curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );    
 98              99         $output = curl_exec($ch);    
100         curl_close($ch);    
101         echo $output;    
102     }  
103 }  
104 $k = new Kefu("appid", "appsecret");  
105 echo $k->returnPic("openid","how are you?");  
106 echo $k->returnKefu("openid","how are you?");  
107 ?>
Copy after login

 

The above is the detailed content of Share the example code for sending multiple messages continuously on WeChat. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!