业务经理

微信扫描以上二维码

028-61286886

技术咨询

写一个发送短信的代码

迅睿框架 更新 2021-09-05 00:18:00 陈银

求大神帮忙写一个发送短信的代码


我想达到效果是,宝塔任务执行API,时间字段到期前15天发送短信给管理员{$t.glydh}与用户{$t.khlxr}。

短信内容:{$t.kehuxingming}您好,您的{$t.sccp}将于{$t.daoqishijian}到期,请您及时联系{$t.glydh}续费!

短信是官方短信接口。


现有API代码如下:

<?php

/**

 * api 示例文件

 * 变量介绍

 * $return 表示标准返回变量

 */


$return = []; // 返回数据

$data = \Phpcmf\Service::M()->table('dr_1_news')->order_by("id desc")->getAll();

if ($data) {

    foreach ($data as $r) {

        $return[] = [

            'daoqishijian' => date("m-d",$r['daoqishijian']),

            'sccp' => $r['sccp'],

            'kehuxingming' => $r['kehuxingming'],

            'khlxr' => $r['khlxr'],

            'glydh' => $r['glydh'],

            

        ];

    }

}


字段说明:

售出产品:标准输出:{$t.sccp}

客户姓名标准输出:{$t.kehuxingming}

到期时间:默认输出:{$t.daoqishijian}

客户电话标准输出:{$t.khlxr}

管理员电话:标准输出:{$t.glydh}



插件版权:官方插件
插件名称:API接口

方案

  • 官方插件技术-刘题羽 #1 · 2021-09-04 22:19:01
    循环数据已经写好了,你只需要在循环体里面做时间段的判断,判断15天时执行发送;注意的是需要在新建一个字段来标记已发短信,这样就防止重复循环发送短信发送函数
    \Phpcmf\Service::M('member')->sendsms_text($mobile, $string); // 用于发送文本内容
    我只能帮你这么多了,学习是一个过程,不太熟悉二开的话,可以找官方开发或者其他开发者开发,然后再分析分析他们的开发代码,这样自己也学会了开发技巧。
  • 陈银 #2 · 2021-09-04 22:24:44
    增加悬赏(设置悬赏)金:10元,希望大家给予帮助!
  • 陈银 #3 · 2021-09-04 22:39:37
    官方插件技术-刘题羽 这个代码我照上次的写的。不会转弯,比如$data = \Phpcmf\Service::M()->table('dr_1_news')->order_by("id desc")->getAll();我需要catid=1都不知道怎么写
  • 二开/定制/使用解答专家 #4 · 2021-09-04 22:46:57
    官方的思路没问题呢,按照这个方向开发就是了
  • 陈银 #5 · 2021-09-04 22:49:27
    二开/定制/使用解答专家 我知道的官方的思路没问题呢,求代码。
  • 二开/定制/使用解答专家 #6 · 2021-09-04 23:36:46
    满意答案
    按照官方思路,建立字段控制发送状态
    <?php
    
    $data = \Phpcmf\Service::M()->table('1_news')
    ->where('sftz', 0)->where("daoqishijian BETWEEN unix_timestamp(now()) and unix_timestamp(DATE_SUB(CURDATE(), INTERVAL -15 DAY))")
    ->getAll();
    
    if ($data) {
        foreach ($data as $t) {
    		$txt = $t['kehuxingming'].'您好,您的'.$t['sccp'].'将于'.dr_date($t['daoqishijian']).'到期,请您及时联系'.$t['glydh'].'续费!';
    		$rt = \Phpcmf\Service::M('member')->sendsms_text($t['khlxr'], $txt); // 用于发送文本内容
    		if ($rt['code']) {
    		    \Phpcmf\Service::M()->table('1_news')->update($t['id'], [
        			'sftz' => 1,
        		]);
    		} else {
    		    log_message("error", "任务短信发送失败:".$rt['msg']);
    		}
        }
    
    }
  • 小黄人 18html #7 · 2021-09-04 23:45:42
    参考文档:《数据库操作》二次开发熟读这篇文章,保证你每次开发都要看的手册
  • 陈银 #8 · 2021-09-04 23:57:14
    二开/定制/使用解答专家 1、如果catid=1该加在那里;2、你这个代码只发送给了用户,同时发送给管理员怎么办。
  • 陈银 #9 · 2021-09-05 00:18:00
    @二开/定制/使用解答专家:不错,感谢,谢谢你!

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...