亚宇博客

Thinkphp5+阿里云SMS短信服务发送验证码

发布时间:2019-08-30 16:40作者:亚宇热度: 2887 ℃评论数: 888

Thinkphp5中开发
1.下载SDK包,当然你也可以去官网下载。解压后就是文件夹中有四个子文件夹
2.将这个文件夹放入TP5框架中extend目录中(extend目录用于存放一些第三方类库)
3.代码DEMO

后端处理

isPost()){//和TP3中略有不同IS_POST等方法弃用
            
            $number = input('number');//input助手函数    获取输入数据 支持默认值和过滤
            
            Loader::import('alimsg.api_demo.SmsDemo',EXTEND_PATH);//对应extend目录,路径,如果你对SmsDemo类添加了命名空间可在上面 use 后在此处直接实例化
 
            $code = $this->random();
 
            //得到信息文件并执行.实例化阿里短信类
            $msg = new \SmsDemo('L******2','U*****************a');//注意类名前面的  \ 此处写的就是Access key id 和Access key secret
            
            //此配置在sdk包中有相关例子
            $res = $msg->sendSms(
                //短信签名名称
                "*****",//此处填写你在阿里云平台配置的短信签名名称(第二步有说明)
                //短信模板code
                "SMS_107015125",//此处填写你在阿里云平台配置的短信模板code(第二步有说明)
                //短信接收者的手机号码
               " $number",
                //模板信息
                Array(
                    'number' => $code,//随机变化的
                )
            );
            dump($res);die;
            $response = array($res);
 
        }
        return $this->fetch('index');
    }
 
    //生成所发送的验证码并返回
    public function random()
    {
        $length = 6;
        $char = '0123456789';
        $code = '';
        while(strlen($code) < $length){
            //截取字符串长度
            $code .= substr($char,(mt_rand()%strlen($char)),1);
        }
        return $code;
    }
}

现在你就可以测试验证码的发送了,在上述代码中我对 $res 进行了打印,你也可以 当出现如下界面表示成功。4917.jpg


转载自:https://blog.csdn.net/gu_wen_jie/article/details/78402610

PHP,MySQL,Linux


评论列表

手机扫码访问

亚宇博客