PHP微信模板消息操作示例


Posted in PHP onJune 29, 2017

本文实例讲述了PHP微信模板消息操作方法。分享给大家供大家参考,具体如下:

微信SDK:

<?php
class Oauth {
  //获得全局access_token
  public function get_token(){
  //如果已经存在直接返回access_token
    //if($_SESSION['access_token'] && $_SESSION['expire_time']>time()){
      //return $_SESSION['access_token'];
    //}else{
    //1.请求url地址
    $appid = APPID;  //appid
    $appsecret = APPSECRET;//appsecret
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret; //请求地址
    //2初始化curl请求
    $ch = curl_init();
    //3.配置请求参数
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
    curl_setopt($ch, CURLOPT_URL, $url);//请求
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接输出数据
    //4.开始请求
    $res = curl_exec($ch); //获取请求结果
    if( curl_errno($ch) ){
      var_dump( curl_error($ch) ); //打印错误信息
    }
    //5.关闭curl
    curl_close( $ch );
    $arr = json_decode($res, true); //将结果转为数组
    //$_SESSION['access_token']=$arr['access_token'];//将access_token存入session中,可以不存,每次都获得新的token
    //$_SESSION['expire_time']=time()+7200;
    return $arr['access_token'];
    //}
  }
  //推送模板信息  参数:发送给谁的openid,客户姓名,客户电话,推荐楼盘(参数自定)
  function sendMessage($openid,$customName,$customPhone,$reportBuilding) {
    //获取全局token
    $token = $this->get_token();
    $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$token; //模板信息请求地址
    //发送的模板信息(微信要求json格式,这里为数组(方便添加变量)格式,然后转为json)
    $post_data = array(
        "touser"=>$openid, //推送给谁,openid
        "template_id"=>"nKu4eyktzxOslxq0KfPxhGXbiOo873K9mIxKvs23EVU", //微信后台的模板信息id
        "url"=>"http://www.baidu.com", //下面为预约看房模板示例
        "data"=> array(
            "first" => array(
                "value"=>"您有新客户,请及时查看!",
                "color"=>"#173177"
            ),
            "customName"=>array(
                "value"=>$customName, //传的变量
                "color"=>"#173177"
            ),
            "customPhone"=>array(
                "value"=>$customPhone,
                "color"=>"#173177"
            ),
            "reportBuilding"=> array(
                "value"=>$reportBuilding,
                "color"=>"#173177"
            ),
            "reportTime"=> array(
                "value"=>date('Y-m-d H:i:s'),
                "color"=>"#173177"
            ),
            "remark"=> array(
                "value"=>"请及时联系客户哦!",
                "color"=>"#173177"
            ),
        )
    );
    //将上面的数组数据转为json格式
    $post_data = json_encode($post_data);
    //发送数据,post方式
//配置curl请求
    $ch = curl_init();//创建curl请求
    curl_setopt($ch, CURLOPT_URL,$url); //设置发送数据的网址
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设置有返回值,0,直接显示
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); //禁用证书验证
    curl_setopt($ch, CURLOPT_POST, 1);//post方法请求
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//post请求发送的数据包
    //接收执行返回的数据
    $data = curl_exec($ch);
    //关闭句柄
    curl_close($ch);
    $data = json_decode($data,true); //将json数据转成数组
    return $data;
  }
  //获取模板信息-行业信息(参考,示例未使用)
  function getHangye(){
    //用户同意授权后,会传过来一个code
    $token = $this->get_token();
    $url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=".$token;
    //请求token,get方式
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
    $data = curl_exec($ch);
    curl_close($ch);
    $data = json_decode($data,true); //将json数据转成数组
    //return $data["access_token"];
    return $data;
}
}

PHP代码:

//推送模板信息给置业顾问
$send = new Oauth();//实例化类
$send->sendMessage($zhiyeguwen,$clientName,$tel,$product);//调用方法

完成,微信模板信息不难,有问题互相交流!!!

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
深入理解PHP中的Session和Cookie
Jun 21 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
PHP开发的微信现金红包功能示例
Jun 29 #PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 #PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 #PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 #PHP
Symfony查询方法实例小结
Jun 28 #PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 #PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 #PHP
You might like
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
深入理解js promise chain
2016/05/05 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
linux面试题参考答案(9)
2016/01/29 面试题
学前教育专业毕业生自荐信
2013/10/03 职场文书
会计助理的岗位职责
2013/11/29 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
小学生暑假家长评语
2014/04/17 职场文书
四年级学生评语大全
2014/04/21 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
离职报告范文
2014/11/04 职场文书
2014年检验科工作总结
2014/11/22 职场文书
党员评议自我评价
2015/03/03 职场文书
怒海潜将观后感
2015/06/11 职场文书
招商银行收入证明
2015/06/17 职场文书
演讲比赛主持词
2015/06/29 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python