额 声明一下哈,我这里不是打广告,只是前不久做用户注册发送短信验证的时候用到了这个平台的产品,为什么要用,就是因为该平台注册就送200条免费测试的短信,嘿嘿嘿,我就是奔着这200条免费的短信而去的,如果大家要用,也可以去注册一个,然后复制下方的代码直接调用即可,嘿嘿嘿!
| 上代码
<?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分钟内正确输入,如非本人操作,请忽略此短信。"';
来张图说明下
本文连接:http://www.phpbloger.com/article/19.html 文章都为原创,转载请注明出处!