首页 > 其他 > 详细

基于tp3.2的腾讯云短信验证码的实现

时间:2019-08-03 15:53:52      阅读:117      评论:0      收藏:0      [点我收藏+]

新手小白在公司要完成短信验证码注册功能,最初由于没有经验,网上的教程又不是很全,便参考着官方API文档,进行开发

直接进入正题:使用composer下载腾讯云短信接口(记得添加依赖)。在项目目录下新建composer.json,写入以下内容

{
  "require": {
    "qcloudsms/qcloudsms_php": "0.1.*"
  },
}

现在就可以在命令行下进入到项目目录,执行composer install,便下载成功短信接口,接下来把以下文档粘贴到Thinkphp/Library/Org/Qcloud/Sms文件夹下

技术分享图片

接下来就是控制器的完成,在控制器中新建方法,内容如下

public function sendPhone($mobile)
    {
// 自己申请的短信应用SDK AppID
        $appid = ‘1400xxxxxx‘; // 1400开头

// 自己申请的短信应用SDK AppKey
        $appkey = "xxxxxxxxxxxxxx";

// 需要发送短信的手机号码
        $phoneNumbers = ‘13xxxxxx‘;

// 短信模板ID,需要在短信应用中申请
        $templateId = ‘xxxx‘;  // NOTE: 这里的只是一个示例,真实的模板ID需要在短信控制台中申请

// 签名
        $smsSign = "热爱交流的程序员"; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名,签名参数使用的是`签名内容`,而不是`签名ID`
        $code1 = mt_rand(1000,9999);//生成随机数
        session(‘code1‘,$code1);    //保存在session(看自己需要保存在哪都行)

        $params = [$code1,5];

// 单发短信
        require (‘./Thinkphp/Library/Org/Qcloud/Sms/index.php‘);  //这句代码非常重要不要忽略
       try {
            $ssender = new \Qcloud\Sms\SmsSingleSender($appid, $appkey);//数组具体的元素个数和模板中变量个数必须一致,例如事例中 templateId:5678对应一个变量,参数数组中元素个数也必须是一个
            $result = $ssender->sendWithParam("86", $phoneNumbers, $templateId,
                $params, $smsSign, "", "");  // 签名参数未提供或者为空时,会使用默认签名发送短信
            $rsp = json_decode($result);
        } catch(\Exception $e) {
            echo var_dump($e);
        }

    }

执行该方法便能发送成功

 

 

  

基于tp3.2的腾讯云短信验证码的实现

原文:https://www.cnblogs.com/dlmg/p/11294828.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!