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的FTP学习(二)
Oct 09 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
10个实用的PHP代码片段
Sep 02 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php实现的验证码文件类实例
Jun 18 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
php操作redis常见方法示例【key与value操作】
Apr 14 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
JS中数组重排序方法
2016/11/11 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
详解Python3 基本数据类型
2019/04/19 Python
python实现桌面托盘气泡提示
2019/07/29 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
python实现随机加减法生成器
2020/02/24 Python
python实现手势识别的示例(入门)
2020/04/15 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
英国袜子店:Sock Shop
2017/01/11 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
幼儿教师寄语集锦
2014/04/03 职场文书
母校寄语大全
2014/04/10 职场文书
医学生求职信
2014/07/01 职场文书
销售顾问工作计划书
2014/08/15 职场文书
特岗教师个人总结
2015/02/10 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
JS中一些高效的魔法运算符总结
2021/05/06 Javascript