php实现微信模板消息推送


Posted in PHP onMarch 30, 2018

本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下

1.微信公众号模板消息配置

2.PHP代码

/**
* 发送模板消息
*/
 public function send_notice(){
  //获取access_token
  if ($_COOKIE['access_token']){
    $access_token2=$_COOKIE['access_token'];
  }else{
    $json_token=$this>curl_post("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret.'");
  $access_token1=json_decode($json_token,true);
  $access_token2=$access_token1['access_token'];
  setcookie('access_token',$access_token2,7200);
  }
   //模板消息
   $json_template = $this->json_tempalte();
   $url="https://api.weixin.qq.com/cgi- bin/message/template/send?access_token=".$access_token2;
   $res=$this->curl_post($url,urldecode($json_template));
   if ($res['errcode']==0){
     return '发送成功';
   }else{
     return '发送失败';
   }
  }

  /**
   * 将模板消息json格式化
   */
  public function json_tempalte(){
    //模板消息
    $template=array(
      'touser'=>'.$openid.',  //用户openid
      'template_id'=>".$tenpalate_id.", //在公众号下配置的模板id
      'url'=>".$uel.", //点击模板消息会跳转的链接
      'topcolor'=>"#7B68EE",
      'data'=>array(
        'first'=>array('value'=>urlencode("您的活动已通过"),'color'=>"#FF0000"),
        'keyword1'=>array('value'=>urlencode('测试文章标题'),'color'=>'#FF0000'),  //keyword需要与配置的模板消息对应
        'keyword2'=>array('value'=>urlencode(date("Y-m-d H:i:s")),'color'=>'#FF0000'),
        'keyword3'=>array('value'=>urlencode('测试发布人'),'color'=>'#FF0000'),
        'keyword4'=>array('value'=>urlencode('测试状态'),'color'=>'#FF0000'),
        'remark' =>array('value'=>urlencode('备注:这是测试'),'color'=>'#FF0000'), )
    );
    $json_template=json_encode($template);
    return $json_template;
  }


  /**
   * @param $url
   * @param array $data
   * @return mixed
   * curl请求
   */
  function curl_post($url , $data=array()){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    // POST数据
    curl_setopt($ch, CURLOPT_POST, 1);
    // 把post的变量加上
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
小偷PHP+Html+缓存
Dec 20 PHP
php smarty模版引擎中的缓存应用
Dec 02 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
浅谈PDO的rowCount函数
Jun 18 PHP
php实现zip文件解压操作
Nov 03 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
PHP递归实现层级树状展开
Apr 01 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
Mac系统下安装PHP Xdebug
Mar 30 #PHP
php实现websocket实时消息推送
Mar 30 #PHP
总结PHP内存释放以及垃圾回收
Mar 29 #PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 #PHP
PHP使用文件锁解决高并发问题示例
Mar 29 #PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 #PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 #PHP
You might like
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
js一组验证函数
2008/12/20 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
初识Node.js
2015/03/20 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python解析文件示例
2014/01/23 Python
Python中实现对list做减法操作介绍
2015/01/09 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
利用Python检测URL状态
2019/07/31 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技