• 技术文章 >后端开发 >php教程

    PHP实现微信模板消息示例

    小云云小云云2018-02-10 13:12:12原创4315
    本文主要和大家介绍了PHP微信模板消息操作方法,结合实例形式分析了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教程

    ThinkPHP3.2.3实现推送微信模板消息

    微信模板消息调用

    以上就是PHP实现微信模板消息示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 示例 消息
    上一篇:PHP代码实现微信图片上传到服务器 下一篇:PHP开发微信现金红包功能代码分享
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 整理总结nginx、php-fpm和mysql等的权限划分• Php4和php5的配置在不同系统下的比较_PHP教程• 十大技巧提升你的 PHP 运用实力_PHP教程• PHP5中Cookie与 Session使用详解_PHP教程• IIS7.X配置PHP运行环境小结_PHP教程
    1/1

    PHP中文网