Home  >  Article  >  Backend Development  >  Share the example code for sending multiple messages continuously on WeChat

Share the example code for sending multiple messages continuously on WeChat

零下一度
零下一度Original
2017-06-29 11:18:4713903browse
  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 ?>

 

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!

Statement:
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