//使用聚合數據短信接口
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