文章目录
一、注册百度云账号1.搜索云函数2.立即体验3.创建函数4.选择模板5.进入代码编辑页6 .可以自定义字符,也可以保留为空
二、注册易客云1 .复制自己的易客云appid和appsecret更换为自己的appid、appsecret、城市
三.微信公众号测试平台
1 .将微信公众号测试号的appID和appsecret复制替换为php码。 (不能丢单引号) )。
2.创建模板消息3.填写好标题后提交4 .将模板id复制到代码中
5 .然后让你的女朋友关注这个微信公众号的测试号码,获取她的微信号,复制到代码里
6.修改为自己日期7 .代码修改完成后保存测试运行
8.测试成功四、定时运行php一、注册百度云账号地址:https://login.bce.baidu.com/?redirect=https%3A%2F%2Fconsole.bce.baidu.com%2Fcfc%2F%3F_%3D1661492571497#/cfc/functions1.搜索云函数
2.立即体验
3.创建函数
4.选择模板空函数,定制函数名称,在运行时选择PHP7.2 (其他默认值),然后提交下一步。
5.进入代码编辑页
<?php
$appId = 'abcdefgh'; //对应自己的appId
$appSecret = 'abcdefgh '; //对应自己的appSecret
$wxgzhurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appId . "&secret=" . $appSecret;
$access_token_Arr = https_request($wxgzhurl);
$access_token = json_decode($access_token_Arr, true);
$ACCESS_TOKEN = $access_token['access_token']; //ACCESS_TOKEN
// 什么时候恋爱的(格式别错)
$lovestart = strtotime('2022-06-16');
$end = time();
$love = ceil(($end - $lovestart) /);
//Z 下一个生日是哪一天(格式别错)
$birthdaystart = strtotime('2023-02-24');
$end = time();
$diff_days = ($birthdaystart - $end);
$Zbirthday = (int)($diff_days/86400);
$Zbirthday = str_replace("-", "", $Zbirthday);
// C下一个生日是哪一天(格式别错)
$birthdaystart = strtotime('2023-04-19');
$end = time();
$diff_days = ($birthdaystart - $end);
$birthday = (int)($diff_days/86400);
$birthday = str_replace("-", "", $birthday);
$tianqiurl = 'https://v0.yiketianqi.com/api?unescape=1&version=v63&language=zh&city=兰州&appid=111111&appsecret=1111111'; //修改为自己的
$tianqiapi = https_request($tianqiurl);
$tianqi = json_decode($tianqiapi, true);
$qinghuaqiurl = 'https://api.youguo56.com/api/chp/';
$qinghuaapi = https_request($qinghuaqiurl);
$qinghua = json_decode($qinghuaapi, true);
// 你自己的一句话
$yjh = 'Z_C恋爱日记'; //可以留空 也可以写上一句
$touser = 'abcdefgh '; //这个填你女朋友的openid
$data = array(
'touser' => $touser,
'template_id' => "abcdefgh ", //改成自己的模板id,在微信后台模板消息里查看
'data' => array(
'first' => array(
'value' => $yjh,
'color' => " #FFB6C1"
),
'keyword1' => array(
'value' => $tianqi['date'], //日期
'color' => "#1E90FF"
),
'keyword10' => array(
'value' => $tianqi['week'],//星期
'color' => "#1E90FF"
),
'keyword11' => array(
'value' => $tianqi['update_time'],//时间
'color' => "#1E90FF"
),
'keyword2' => array(
'value' => $tianqi['city'],//城市
'color' => "#DC143C"
),
'keyword20' => array(
'value' => $tianqi['country'],//国家
'color' => "#DC143C"
),
'keyword3' => array(
'value' => $tianqi['wea'],//今日天气
'color' => "#6495ED"
),
'keyword30' => array(
'value' => $tianqi['win'],//风
'color' => "#6495ED"
),
'keyword4' => array(
'value' => $tianqi['hours']['0']['wea'],//现在天气
'color' => "#4169E1"
),
'keyword40' => array(
'value' => $tianqi['hours']['0']['win'],//现在风
'color' => "#4169E1"
),
'keyword5' => array(
'value' => $tianqi['tem1'],//高温
'color' => "#FF7F50"
),
'keyword50' => array(
'value' => $tianqi['tem2'],//低温
'color' => "#AFEEEE"
),
'keyword6' => array(
'value' => $tianqi['sunrise'],//日出
'color' => "#FFDEAD"
),
'keyword60' => array(
'value' => $tianqi['sunset'],//日落
'color' => "#FFA500"
),
'keyword7' => array(
'value' => $love . '天',
'color' => "#FA8072"
),
'keyword8' => array(
'value' => $Zbirthday . '天',
'color' => "#F5DEB3"
),
'keyword80' => array(
'value' => $birthday . '天',
'color' => "#F5DEB3"
),
'keyword9' => array(
'value' => $tianqi['air_tips'],//小贴士
'color' => "#FFB6C1"
),
'remark' => array(
'value' => $qinghuaapi,
'color' => "#6495ED"
),
)
);
// 下面这些就不需要动了————————————————————————————————————————————————————————————————————————————————————————————
$json_data = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $ACCESS_TOKEN;
$res = https_request($url, urldecode($json_data));
$res = json_decode($res, true);
if ($res['errcode'] == && $res['errcode'] == "ok") {
echo "发送成功!<br/>";
}else {
echo "发送失败!请检查代码!!!<br/>";
}
function https_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)) {
curl_setopt($curl, CURLOPT_POST,);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER,);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
function handler($context) {
# 啥都没有 就是为了填执行失败的坑
# return $ret;
}
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
6.可以自定义文字,也可以留空二、注册易客云地址: http://www.yike Tianqi.com/user/register
1.复制自己的易客云appid和appsecret换成自己的appid、appsecret、城市
三、微信公众号测试平台注册地址: http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index1.复制微信公众号测试号的appID和appsecret到php代码里进行替换(单引号不能丢)
2.创建模板消息
将以下代码复制到模板的内容中
自定义模板标题(可以复制这个内心的表情) )。
{{first.DATA}}
现在是{{keyword1.DATA}} {{keyword10.DATA}} {{keyword11.DATA}}
国家:{{keyword20.DATA }}
城市:{{keyword2.DATA}}
今日天气:{{keyword3.DATA}} {{keyword30.DATA}}
现在天气:{{keyword4.DATA}} {{keyword40.DATA}}
最高温度:{{keyword5.DATA}} ℃
最低温度:{{keyword50.DATA}} ℃
日出:{{keyword6.DATA}}
日落:{{keyword60.DATA}}
今天是我们在一起的第 {{keyword7.DATA}}
距离Z.jie的生日还有 {{keyword8.DATA}}
距离C.ying的生日还有 {{keyword80.DATA}}
小贴士:{{keyword9.DATA}}
每日一句: {{remark.DATA}}
12345678910111213141516
模板中的文字可以自定义修改,每一句括号后面的字段不要修改3.填写好标题后提交
4.将模板id复制到代码里
5.然后让你女朋友关注这个微信公众号测试号,获取她的微信号,然后复制到代码里
6.修改为自己日期这次设了两个生日
7.代码修改完保存测试执行
8.测试成功
四、定时运行php
定时触发器以UTC时间运行,即北京时间减去8个小时
这里的计划公式是cron(0**? 每日下午:00(utc )触发北京每天早上对应07:00执行
打开计时器触发器,这样就完成了!