php实现发送微信模板消息的方法
本文实例讲述了php实现发送微信模板消息的方法。分享给大家供大家参考。具体如下:
该方法基于thinkphp实现实现,具体OrderPush.class.php文件如下:
<?php namespaceOrg\Weixin; /** *CreatedbyPhpStorm. *User:StandOpen *Date:15-1-7 *Time:9:41 */ classOrderPush { protected$appid; protected$secrect; protected$accessToken; function __construct($appid,$secrect) { $this->appid=$appid; $this->secrect=$secrect; $this->accessToken=$this->getToken($appid,$secrect); } /** *发送post请求 *@paramstring$url *@paramstring$param *@returnbool|mixed */ functionrequest_post($url='',$param='') { if(empty($url)||empty($param)){ returnfalse; } $postUrl=$url; $curlPost=$param; $ch=curl_init();//初始化curl curl_setopt($ch,CURLOPT_URL,$postUrl);//抓取指定网页 curl_setopt($ch,CURLOPT_HEADER,0);//设置header curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上 curl_setopt($ch,CURLOPT_POST,1);//post提交方式 curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost); $data=curl_exec($ch);//运行curl curl_close($ch); return$data; } /** *发送get请求 *@paramstring$url *@returnbool|mixed */ functionrequest_get($url='') { if(empty($url)){ returnfalse; } $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $data=curl_exec($ch); curl_close($ch); return$data; } /** *@param$appid *@param$appsecret *@returnmixed *获取token */ protectedfunctiongetToken($appid,$appsecret) { if(S($appid)){ $access_token=S($appid); }else{ $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret; $token=$this->request_get($url); $token=json_decode(stripslashes($token)); $arr=json_decode(json_encode($token),true); $access_token=$arr['access_token']; S($appid,$access_token,720); } return$access_token; } /** *发送自定义的模板消息 *@param$touser *@param$template_id *@param$url *@param$data *@paramstring$topcolor *@returnbool */ publicfunctiondoSend($touser,$template_id,$url,$data,$topcolor='#7B68EE') { /* *data=>array( 'first'=>array('value'=>urlencode("您好,您已购买成功"),'color'=>"#743A3A"), 'name'=>array('value'=>urlencode("商品信息:微时代电影票"),'color'=>'#EEEEEE'), 'remark'=>array('value'=>urlencode('永久有效!密码为:1231313'),'color'=>'#FFFFFF'), ) */ $template=array( 'touser'=>$touser, 'template_id'=>$template_id, 'url'=>$url, 'topcolor'=>$topcolor, 'data'=>$data ); $json_template=json_encode($template); $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken; $dataRes=$this->request_post($url,urldecode($json_template)); if($dataRes['errcode']==0){ returntrue; }else{ returnfalse; } } }
希望本文所述对大家的php程序设计有所帮助。