//使用聚合数据短信接口
https://www.juhe.cn/docs/api/id/54
示例代码:
~~~
public function getCode(){
//获取前端发来的手机号
$phone = input('get.phone');
//生成验证码内容(生成默认4位数字,看结尾)
$code = $this->createSMSCode();
//调用聚合数据的代码函数
$res = $this->duanxinjiekou($phone, $code);
session('code',$code);
}
//默认与juhecurl()函数放在一个文件,被我封装成方法
//执行短信发送的另一半代码块(聚合数据提供,无需修改)
//只需填入$smsConf数组对应的几个必须参数即可完成使用
public function duanxinjiekou($phone, $code){
header('content-type:text/html;charset=utf-8');
$sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL
$smsConf = array(
'key' => '0d2dc22588e695aa9c197035a21af7ba', //您申请的APPKEY
'mobile' => $phone, //接受短信的用户手机号码
'tpl_id' => '43908', //您申请的短信模板ID,根据实际情况修改
'tpl_value' =>'#code#='.$code.'&#company#=由客' //您设置的模板变量,根据实际情况修改
);
$content = juhecurl($sendUrl,$smsConf,1); //请求发送短信
if($content){
$result = json_decode($content,true);
$error_code = $result['error_code'];
if($error_code == 0){
//状态为0,说明短信发送成功
echo "短信发送成功,短信ID:".$result['result']['sid'];
}else{
//状态非0,说明失败
$msg = $result['reason'];
echo "短信发送失败(".$error_code."):".$msg;
}
}else{
//返回内容异常,以下可根据业务逻辑自行修改
echo "请求发送短信失败";
}
}
//聚合验证的函数,无需修改,放在类外或者公共文件
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
function juhecurl($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
~~~
//生成自定义长度的短信验证码
~~~
<?php
function createSMSCode($length = 6) {
$min = pow(10 , ($length - 1));
$max = pow(10, $length) - 1;
return rand($min, $max);
}
~~~
- 空白目录
- 关于页面跳转跟重定向
- thinkphp5return的问题
- thinkphp5权限auth
- thinkphp5关联查询多表查询join
- javascript
- 数据库命令行操作
- php间隔一段时间自动执行
- PHP字符串首尾留N位,中间替换成*号
- tp5获取当前域名
- PHP常用函数
- 注册发送短信验证的接口详解
- php可逆加密解密
- 配置本地虚拟主机
- thinkphp5跨控制器调用
- thinkphp5框架加载流程
- thinkphp5路由详解
- thinkphp5功能集合
- thinkphp5数据库操作
- delete,put类型
- tp5数据库查询
- tp5数据库增删改
- 事务机制
- thinkphp模型model新建和查询
- tp5model的新增
- tp5model修改
- tp5model删除和软删除
- tp5视图
- tp5API
