Thinkphp3.2开发阿里云短信验证码

之前一直使用的是创蓝253的短信验证码,开发起来比较方便,不想阿里云这么复杂。有兴趣的同学可以去看一下创蓝253的短信验证码(https://www.253.com)。

今天主要说一下阿里云的短信验证码

首先就是老样子,在阿里云申请必要的参数:

  1. 现在阿里云申请必要的参数Access Key,AccessKeySecret,短信模板以及签名;
  2. 然后我们去官网下载sdk记得不要选择轻量版。
  3. 下载后解压文件里面有四个文件夹
    Thinkphp3.2开发阿里云短信验证码_第1张图片
  4. 在ThinkPHP/Library/Vendor/下新建一个文件夹alisms
  5. 然后将api_sdk文件复制到刚才新建的文件下,并将解压后api_demo文件夹中的SmsDemo.php复制到api_sdk文件下。
  6. 然后将SmsDemo.php文件名更改为alisms.class.php,并在文件中填写你在阿里云申请的数据(AccessKeyId,AccessKeySecret,签名名称,模板CODE)。

在你需要使用短信验证码的控制器添加代码

public function test(){
     
       Vendor('alisms.api_sdk.alisms#class');
       $demo = new \sms();
       $response = $demo->sendSms("你的手机号", "验证码");
       //阿里云短信返回的是object格式,转换为数组可以做判断
       $arr = $this->object_to_array($response);		
       var_dump($arr['Message']);
}
//对象 转 数组
public function object_to_array($obj) {
     
    $obj = (array)$obj;
    foreach ($obj as $k => $v) {
     
        if (gettype($v) == 'resource') {
     
            return;
        }
        if (gettype($v) == 'object' || gettype($v) == 'array') {
     
            $obj[$k] = (array)object_to_array($v);
        }
    }
    return $obj;
}

如果有看不懂的,可以去下载我的源码包

你可能感兴趣的:(thinkphp,阿里云)