Thinkphp5.0秒滴短信发送类封装

第三方接口 2173浏览 评论

额 声明一下哈,我这里不是打广告,只是前不久做用户注册发送短信验证的时候用到了这个平台的产品,为什么要用,就是因为该平台注册就送200条免费测试的短信,嘿嘿嘿,我就是奔着这200条免费的短信而去的,如果大家要用,也可以去注册一个,然后复制下方的代码直接调用即可,嘿嘿嘿!

image.png


| 上代码

<?php
/**
 * Created by PhpStorm.
 * User: Tangyijun
 * Date: 2017/3/18 0018
 * Time: 11:46
 */
namespace app/server;
class Sms{
    protected $accountSid;
    protected $token;
    public function __construct(){
   //这个id和token在注册了之后在后台就能看到,复制过来就成
        $this->accountSid = '你的accountSid';
        $this->token = '你的token';
    }
    public function sendCode($mobile){
        $time = date('YmdHis',time());
        $sig = md5($this->accountSid.$this->token.$time);
        $code = rand(10000,99999);
        $smsContent = "【91帮注网】您的验证码为{$code},请于15分钟内正确输入,如非本人操作,请忽略此短信。";
        $ch = curl_init();
        /* 设置验证方式 */
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded','charset=utf-8'));
        /* 设置返回结果为流 */
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        /* 设置超时时间*/
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        /* 设置通信方式 */
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // 发送短信
        $data=array('accountSid'=>$this->accountSid,'smsContent'=>$smsContent,'to'=>$mobile,'timestamp'=>$time,'smsContent'=>$smsContent,'sig'=>$sig);
        curl_setopt ($ch, CURLOPT_URL, 'https://api.miaodiyun.com/20150822/industrySMS/sendSMS');
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        $json_data = curl_exec($ch);
        //将数据转换成数组
        $arr = json_decode($json_data,true);
        if($arr['respCode']=='00000'){
            cookie('code',$code,time()+3600*15); //发送成功暂且保存在cookie中
            return true;
        }
        return false;
    }

}

| 调用

//注意new之前请引入命名空间,直接复制过去报错不赖我哦!
$sms = new Sms();
$sms->sendCode('18616250935');

| 需要注意的地方

这里值得注意的是变量值前面的【91帮注网】是内容的签名必须要的,这个在创建模版的时候可以自己定义,发送短信的内容格式也是固定的,你后台创建什么模版就得根据模版来发送短信内容0

$smsContent = '【91帮注网】您的验证码为{$code},请于15分钟内正确输入,如非本人操作,请忽略此短信。"';

来张图说明下


image.png

本文连接:http://www.phpbloger.com/article/19.html 文章都为原创,转载请注明出处!

相关文章