1     protected function send_sms()
 2     {
 3         $mobile = I("post.mobile");
 4         if (!preg_match("/^(0|86|17951)?(13[0-9]|15[012356789]|17[0678]|18[0-9]|14[57])[0-9]{8}$/", $mobile)) {
 5             self::send("电话号码有误", 0);
 6             return false;
 7         }
 8         $time = 60;
 9         if (!empty(S($mobile))) {
10             self::send("请过" . $time . "秒后在发送", 0);
11             return false;
12         }
13         $msg = static::randString();
14 
15         if($mobile == '13438908429'){
16             $msg = '1234';
17             S($mobile, $msg, $time);
18             self::send("发送成功", 1);
19             return true;
20         }
21 
22         $tem = "SMS_5390355";
23         vendor("SMS.TopSdk");
24         $c = new \TopClient;
25         $c->appkey = ???????????? ;
26         $c->secretKey = "4c8afdbe38861579d070f3db79c6d880";
27         $req = new \AlibabaAliqinFcSmsNumSendRequest;
28         $req->setExtend("1234");
29         $req->setSmsType("normal");
30         $req->setSmsFreeSignName("登录验证");
31         $req->setSmsParam("{\"code\":\"$msg\",\"product\":\"天天养生\"}");
32         $req->setRecNum("$mobile");
33         $req->setSmsTemplateCode($tem);
34         $resp = $c->execute($req);
35       //  print_r($resp);exit;
36         $data = json_decode(json_encode($resp), true);
37         if (isset($data['result']) && $data['result']['err_code'] == 0 && $data['result']['success'] == true) {
38             S($mobile, $msg, $time);
39             self::send("发送成功", 1);
40             return true;
41         } else {
42             self::send("发送失败,请稍后再试", 0);
43             return false;
44         }
45     }
短信接口
/**
* 获取随机位数数字
* @param integer $len 长度
* @return string
*/
protected static function randString($len =4)
{
$chars = str_repeat('0123456789', $len);
$chars = str_shuffle($chars);
$str = substr($chars, 0, $len);
return $str;
}