php实现发送微信模板消息的方法

 这篇文章主要介绍了php实现发送微信模板消息的方法,实例分析了php操作curl及自定义模板消息的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例讲述了php实现发送微信模板消息的方法。分享给大家供大家参考。具体如下:

该方法基于thinkphp实现实现,具体OrderPush.class.php文件如下:

代码如下:
<?php
namespace OrgWeixin;
/**
* Created by PhpStorm.
* User: StandOpen
* Date: 15-1-7
* Time: 9:41
*/
class OrderPush
{
protected $appid;
protected $secrect;
protected $accessToken;
function __construct($appid, $secrect)
{
$this->appid = $appid;
$this->secrect = $secrect;
$this->accessToken = $this->getToken($appid, $secrect);
}
/**
* 发送post请求
* @param string $url
* @param string $param
* @return bool|mixed
*/
function request_post($url = '', $param = '')
{
if (empty($url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
$ch = curl_init(); //初始化curl
curl_setopt($ch, CURLOPT_URL, $postUrl); //抓取指定网页
curl_setopt($ch, CURLOPT_HEADER, 0); //设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_POST, 1); //post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch); //运行curl
curl_close($ch);
return $data;
}
/**
* 发送get请求
* @param string $url
* @return bool|mixed
*/
function request_get($url = '')
{
if (empty($url)) {
return false;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
/**
* @param $appid
* @param $appsecret
* @return mixed
* 获取token
*/
protected function getToken($appid, $appsecret)
{
if (S($appid)) {
$access_token = S($appid);
} else {
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $appsecret;
$token = $this->request_get($url);
$token = json_decode(stripslashes($token));
$arr = json_decode(json_encode($token), true);
$access_token = $arr['access_token'];
S($appid, $access_token, 720);
}
return $access_token;
}
/**
* 发送自定义的模板消息
* @param $touser
* @param $template_id
* @param $url
* @param $data
* @param string $topcolor
* @return bool
*/
public function doSend($touser, $template_id, $url, $data, $topcolor = '#7B68EE')
{
/*
* data=>array(
'first'=>array('value'=>urlencode("您好,您已购买成功"),'color'=>"#743A3A"),
'name'=>array('value'=>urlencode("商品信息:微时代电影票"),'color'=>'#EEEEEE'),
'remark'=>array('value'=>urlencode('永久有效!密码为:1231313'),'color'=>'#FFFFFF'),
)
*/
$template = array(
'touser' => $touser,
'template_id' => $template_id,
'url' => $url,
'topcolor' => $topcolor,
'data' => $data
);
$json_template = json_encode($template);
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $this->accessToken;
$dataRes = $this->request_post($url, urldecode($json_template));
if ($dataRes['errcode'] == 0) {
return true;
} else {
return false;
}
}
}

 

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

时间: 2024-10-29 06:40:28

php实现发送微信模板消息的方法的相关文章

php实现发送微信模板消息的方法_php技巧

本文实例讲述了php实现发送微信模板消息的方法.分享给大家供大家参考.具体如下: 该方法基于thinkphp实现实现,具体OrderPush.class.php文件如下: 复制代码 代码如下: <?php namespace Org\Weixin; /**  * Created by PhpStorm.  * User: StandOpen  * Date: 15-1-7  * Time: 9:41  */ class OrderPush {     protected $appid;    

PHP快速推送微信模板消息

需要给关注用户发送模板消息,由于公众号关注用户比较多,所以采用普通的curl等方式太慢.由于模板消息发送不需要等待微信的结果,所以利用php的fsockopen()函数可以达到快速发送的效果.代码如下: $data = [ 'touser' => '11111111111111111', 'template_id' => '111111111111111111', 'url' => '11111111111111111111', 'data' => [ 'first' =>

微信模板消息推送,苹果手机没效果

问题描述 微信模板消息推送,苹果手机没效果 为什么我写的微信模板消息推送,消息提示安卓机子可显示,但是苹果手机就是空白的不显示呢? 解决方案 安卓微信和ios微信实现是有差别的,但微信服务器在收发消息时会弥补这些差别,你可以在开发平台中先测试一下你发消息的接口看看是否能正常显示.

iphone微信撤回消息怎么查看?微信撤回消息查看方法

注意:此方法只能看到文字消息如果是图片的话撤回去是无法查看到的,因为iphone通知栏不会保存图片只会显示文字. 查看已撤回消息的方法: 这样在微信中我们是看不到的,如果说要看到以后可以如下设置 iphone打开设置后,点击通知 效果如下所示. 进入通知栏-到微信,点进去. 然后,点开"允许通知",-'通知中心'中显示",也要点开!点开!点开! 这就样,就大功告成了. 接下来,如果有朋友跟你私聊或者在微信群中撤回了一条信息 下拉打开通知栏,你就会惊喜的看到他/她/它说了什么!

微信分组发送-微信群发消息 出错,求大神

问题描述 微信群发消息 出错,求大神 请求图文消息 post的json {"filter":{"group_id":"103"},"mpnews":{"media_id":"NJdvqJn1PClTb6tFVrbnyOsLRsbIiumwvrlDO_Ty4j6OGiFQ495x- JFjFy0HKghN"},"msgtype":"mpnews"}

微信怎么群发消息 微信群发消息的方法介绍

微信自带了群发功能了,只需要我们按下面方法来操作就可以设置群发信息了. 我们在微信中点击"我"-"设置"打开进入   然后我们再找到"通用"如图所示     在打开进入到通用中点击"功能"打 开进入     下拉找到"群发助手" 中点击打开进入了     然后我们就可以点击"开始群发"按钮,如下图所示     之后你就可以点击"新建群发"按钮,如图所示     选择需

微信支付java版本之JSAPI支付+发送模板消息_java

本文为大家分享了java版本之JSAPI支付+发送模板消息的相关资料,供大家参考,具体内容如下 1.工具类 工具类见:微信支付JAVA版本之Native付款 2.公众账号设置 3.代码实现  openId:openId为用户与该公众账号之间代表用户的唯一标示  以下类中涉及到生成token,关闭订单接口调用,获取配置文件信息,和工具类,在其他文章中有具体代码实现  package com.zhrd.bussinss.platform.controller.rest; import java.io

C#开发微信门户及应用(27)-公众号模板消息管理

原文:C#开发微信门户及应用(27)-公众号模板消息管理 通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息.本文主要介绍基于C#开发实现公众号模板消息的管理功能. "模板消息功能的推出,将极大地增强服务号的服务通知能力",在一些一直期待微信模板消息功能开放的公众号运营者看来,微信一对一沟通的社交属性

PHP微信开发之模板消息回复_php实例

微信公众平台上,有个模板消息回复接口:可以用来实现回复特定的消息-----比如用户下了订单之后,回复给用户您的订单正在处理中...比如下面这张图: 用户进行了一些操作之后,服务号能够返回特定的消息----这就是模板消息. 要实现模板消息的回复,你的公众号必须是经过微信认证的,如果是个人的订阅号,暂时不支持微信认证.不过也不影响做测试-----你可以使用测试公众号: 使用测试号的时候,接口信息的配置就不讲了,可以参考我之前的博客. 使用维码登录测试号之后,需要用你的微信号去关注这个测试号,不然看不