手机验证码发送(ThinkPHP)

一、当框架如下时
ThinkPHP
|--demo 目录
|--Public 目录 #css js 图片文件
|--Apps 目录 #项目的文件名
|--Home 目录 #前台目录
|--Controllers#控制器
|--View#模板
|--Model#数据模型
|--Admin 目录#后台的目录
|--Controllers#控制器
|--View#模板
|--Model#数据模型
|--Common 目录#公共配置目录件
|--Common#添加的配置函数
|--Conf#初始化配置
|--ThinkPHP 目录#框架的目录
|--Uplodads 目录#图片上传保存路径
|--.htaccess 文件#重写路由的配置文件
|--index.php 文件#前台主入口文件


二、手机验证码配置

1.申请容联云通信,注册个号 http://www.yuntongxun.com/

对应的管理--控制台首页
ACCOUNT SID:8aaf0708567749f001567c8a3ccb04ee
AUTH TOKEN:a4caf4c92234461192263fbd0eeb6a63
AppID(默认):8aaf0708567749f001567c8a3d8704f5

2.D:\wamp\www\demo\ThinkPHP\Library\Org\Xb
导入 RongCloud.class.php和Rest.class.php

3.这个函数放入D:\wamp\www\demo\Apps\Common\Common\function.php里面

/**
	 * 发送 容联云通讯 验证码
	 * @param  int $phone 手机号
	 * @param  int $code  验证码
	 * @return boole      是否发送成功
	 */
	function send_sms_code($phone,$code){
	    //请求地址,格式如下,不需要写https://
	    $serverIP='app.cloopen.com';
	    //请求端口
	    $serverPort='8883';
	    //REST版本号
	    $softVersion='2013-12-26';
	    //主帐号
	    $accountSid=C('RONGLIAN_ACCOUNT_SID');
	    //主帐号Token
	    $accountToken=C('RONGLIAN_ACCOUNT_TOKEN');
	    //应用Id
	    $appId=C('RONGLIAN_APPID');
	    $rest = new \Org\Xb\Rest($serverIP,$serverPort,$softVersion);
	    $rest->setAccount($accountSid,$accountToken);
	    $rest->setAppId($appId);
	    // 发送模板短信
	    $result=$rest->sendTemplateSMS($phone,array($code,5),1);
	    if($result==NULL) {
	        return false;
	    }
	    if($result->statusCode!=0) {
	        return  false;
	    }else{
	        return true;
	    }
	}
4.D:\wamp\www\lamp48\tp4\fzz\Apps\Common\Common\conf\config.php
里面写配置
    //手机配置
    'RONGLIAN_ACCOUNT_SID'   => '8aaf0708567749f001567c8a3ccb04ee', //容联云通讯 主账号 accountSid
'RONGLIAN_ACCOUNT_TOKEN' => 'a4caf4c92234461192263fbd0eeb6a63', //容联云通讯 主账号token accountToken
'RONGLIAN_APPID'         => '8aaf0708567749f001567c8a3d8704f5', //容联云通讯 应用Id appid
'RONGLIAN_TEMPLATE_ID'   => '1', //容联云通讯 模板Id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过使用第三方短信平台的 API 来发送短信验证码。以下是一个使用阿里云短信服务的示例代码: ```php // 引入阿里云 SDK require_once __DIR__ . '/aliyun-php-sdk-core/Config.php'; use Aliyun\Core\Config; use Aliyun\Core\DefaultAcsClient; use Aliyun\Core\Profile\DefaultProfile; use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; // 配置信息 Config::load(); $accessKeyId = 'your_access_key_id'; $accessKeySecret = 'your_access_key_secret'; $signName = 'your_sign_name'; // 签名名称 $templateCode = 'your_template_code'; // 模板CODE // 发送短信验证码 $mobile = 'your_mobile_number'; $code = rand(100000, 999999); // 生成随机验证码 $paramString = '{"code":"' . $code . '"}'; // 短信模板参数 $profile = DefaultProfile::getProfile('cn-hangzhou', $accessKeyId, $accessKeySecret); $acsClient = new DefaultAcsClient($profile); $request = new SendSmsRequest(); $request->setPhoneNumbers($mobile); $request->setSignName($signName); $request->setTemplateCode($templateCode); $request->setTemplateParam($paramString); $response = $acsClient->getAcsResponse($request); // 处理响应结果 if ($response->Code == 'OK') { // 发送成功,将验证码存储到 session 或缓存中 session('sms_code', $code); echo '验证码发送,请注意查收'; } else { echo '发送失败:' . $response->Message; } ``` 需要注意的是,上述代码中的 `your_access_key_id`、`your_access_key_secret`、`your_sign_name`、`your_template_code` 和 `your_mobile_number` 都需要根据实际情况进行替换。同时,由于阿里云 SDK 并不包含在 ThinkPHP 中,需要手动下载并添加到项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值