模板消息 php实例,PHP微信模板消息操作示例

5268f80b9b1e01f982625ef6fac83ca1.png

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

微信SDK:

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编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

非阻塞 php,PHP异步非阻塞之路

需求一个简单的需求,提交大量数据到远程服务器,此时并不需要等待返回。另一个需求,获取API数据,同时查询数据库,并行处理,加快响应速度。配置问题set_time_limitignore_user_abortfastcgi_finish_request只…

linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

Linux监控进程,进程关闭自动重启方案corntabshell脚本检测进程这个方案简单不用额外安装软件。缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的#!/bin/bash#author smallForest#email 1032817724qq.comproc_name"xiaofei.php" …

https脚本调linux执行器,linux平台下一键配置网站https

部署过SSL证书的人都知道,申请和部署一张SSL证书是相当繁琐而漫长的过程,枯燥无味的部署指南、非常容易出错的命令、复杂的编辑配置等等,在linux平台下,更加痛不欲生。LZ试用了SSL证书自动配置工具,支持linux平台下自动…

linux内核是否支持nfs,嵌入式命令:查看设备是否支持nfs

1:查看设备是否支持nfs功能命令: cat /proc/filesystems若有一行为 nodev nfs,则开发板Linux内核支持NFS,反之需要配置内核同样方法查看Linux主机内核是否支持NFS挂载文件系统的时候遇到:[rootHZCTC-hadoop-0-81 hadoo…

linux6同步时间,centos 6.x 同步网络时间

1. linux时间介绍Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。2. 手动设置时间查看系统时间的命令:date设置系统时间的…

linux6.5如何打开ftp服务,CentOs6.5上快速搭建ftp服务器

1、用root 进入系统2、使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本3、使用命令rpm -e vsftpd 即可卸载ftp4、再使用rpm -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功…

linux cmake安装教程,ubuntu安装Cmake

安装 CMake1、下载最新的CMake( 版本:3.4.0)wget http://www.cmake.org/files/v3.4/cmake-3.4.0-rc2-Linux-i386.tar.gz2、解压tar zxvf cmake-3.4.0-rc2-Linux-i386.tar.gz3、创建链接ln -s /usr/cmake-3.4.0-rc2-Linux-i386/bin/* /usr/bin/4、执行命令&#xff0…

linux设置静态ip后端口不能上网,Centos7设置静态IP后无法上网的解决方法

在VMWare中安装的本地虚拟机CentOS7操作系统,动态IP地址会经常变化,设置成静态IP地址后,本地局域网可以互相访问,但CentOS7系统无法访问互联网,按以下步骤解决这个问题。1、以系统管理员打开VMWare2、选择虚拟网络编辑…

linux 下nc-verilog 仿真环境搭建,Cadence NC Verilog仿真教程

这个手册将向你介绍使用 NC-Verilog simulator 和 SimVision。 本文使用的是一个用 Veilog 硬件编程语言编写的一个饮料分配机,通过这个例 子你将学会: 编译 Verilog 源文件,描述设计,在 NC-Launch(用于管理你的大型设计 的图形交…

Linux分支代码必须公开吗,linux – 当拉出不同的分支时,让“git pull”请求确认...

现在,我将重点介绍如何在执行任何拉动之前提示用户进行确认.不幸的是,因为没有预拉hook这样的东西,我认为你不能得到实际的pull命令来直接为你做这个.在我看来,你有两个选择:1 – 使用fetch然后合并(而不是pull)而不是运行git pull,运行git fetch,然后git merge或gi…

linux宽松模式,SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换...

SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换在Android的root相关的文章里经常会看到关于SElinux,Android4.3以后引进SElinux。###SELinux 的启动、关闭与查看1、并非所有的 Linux distributions 都支持 SELinux目前 SELin…

linux vim emmet,前端开发神器Emmet.vim使用笔记

Emmet.vim的安装请看:http://www.cnblogs.com/yunie-akira/p/3554065.htmlEmmet.vim简介Emmet,原来叫Zen Coding,由Sergey Chikuyonok开发,是快速开发HTML和CSS的编辑器插件。支持 Sublime Text、Notepad、Eclipse等等。官方的Emmet并不支持v…

深度Linux修改分辨率6,Deepin 修改自定义分辨率

之前我有篇文章是写显示器超频问题,当时感觉Deepin超频麻烦,折腾换成了Win10,但用了断时间后,感觉Win10真的不好用,夜览模式软件适配差,CPU占用率高,字体颗粒感强,显示器看着眼睛很累…

linux标准i o实例,9.3. 一个 I/O 端口例子

## 9.3. 一个 I/O 端口例子我们用来展示一个设备驱动内的端口 I/O 的例子代码, 操作通用的数字 I/O 端口; 这样的端口在大部分计算机系统中找到.一个数字 I/O 端口, 在它的大部分的普通的化身中, 是一个字节宽的 I/O 位置, 或者内存映射的或者端口映射的. 当你写一个值到一个输…

linux下如何bash文件,Linux系统的文件管理命令及bash的相关工作特性

一、Linux系统的文件管理命令:1 \pwd:printing working directory2 \cd:change directory cd [/PATH/TO/SOMEDIR/]可带可不带,切换回家目录;注意:bash中~表示家目录;cd ~:切换回自己的家目录&#xff…

2019浙江C语言二级答案,2019年下半年二级C语言试题及答案

机遇总是有的,如果把握不住,不要怨天忧人,原因只是自己不够优秀;不要把时间当垃圾处理,唯有珍惜光阴、努力刷二级C语言试题,才能提升生命的质量。1)若有以下语句:typedef struct S{ int g;char …

c语言鸡兔同笼的程序,C语言:鸡兔同笼问题

鸡兔同笼。已知鸡兔总头数为h(设为30),总脚数为f(设为90),求鸡兔各几只。代码一:#includemain(){int h,f,x,y;printf("请输入总头数和总脚数:");scanf("%d%d",&h,&f);x2*h-f/2;yf/2-h;printf("总头数为%d,总…

c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc

学生信息管理系统,开题报告(共篇).doc学生信息管理系统,开题报告(共10篇):开题 信息管理系统 报告 学生 论文开题报告有查重吗 居民信息网络管理系统 学生信息管理系统c语言篇一:学生信息管理系统开题报告毕 业 设 计(论 文)开 题 报 告题目:…

计算机二级c语言填空题答案唯一吗,计算机二级C语言上机填空题及答案.doc

计算机二级C语言上机填空题及答案2、给定程序中,函数fun的功能是建立一个NN的矩阵。 矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若…

C语言字符串倒排,C语言兑现简单的倒排文件索引

C语言实现简单的倒排文件索引inver.h文件#ifndef INVERT_FILE_H#define INVERT_FILE_H#include#includetypedef struct _invertfile_ {unsigned int tablelen;void **table;//unsigned int offset;unsigned int nodecount;}if_t;typedef struct _word_{unsigned int id;unsigne…