ThinkPHP3.2.3整合傳送手機簡訊驗證碼
阿新 • • 發佈:2019-02-16
說明:
每條價格在幾分錢,買的量越大,優惠力度越大。
主要程式碼
1、在\ThinkPHP\Library\Org資料夾下,建立Msg.class.php檔案,程式碼如下:
<? /*-------------------------------- 功能: PHP HTTP介面 傳送簡訊 修改日期: 2013-05-08 說明: http://m.5c.com.cn/api/send/?username=使用者名稱&password=密碼&mobile=手機號&content=內容&apikey=apikey 狀態: 傳送成功 success:msgid 傳送失敗 error:msgid 注意,需curl支援。 返回值 說明 success:msgid 提交成功,傳送狀態請見4.1 error:msgid 提交失敗 error:Missing username 使用者名稱為空 error:Missing password 密碼為空 error:Missing apikey APIKEY為空 error:Missing recipient 手機號碼為空 error:Missing message content 簡訊內容為空 error:Account is blocked 帳號被禁用 error:Unrecognized encoding 編碼未能識別 error:APIKEY or password error APIKEY 或密碼錯誤 error:Unauthorized IP address 未授權 IP 地址 error:Account balance is insufficient 餘額不足 error:Black keywords is:黨中央 遮蔽詞 --------------------------------*/ function sendmsg($vcode,$mobile){ $username = '*****'; //使用者賬號 $password = '******'; //密碼 $apikey = '***********'; //api key //$mobile = '18612345678,18988888888,18688888888'; //號手機碼 // var_dump($vcode);exit; $content = '您的簡訊驗證碼是:'.$vcode.'【湖南****資訊科技有限公司】'; //內容 //即時傳送 $result = sendSMS($username,$password,$mobile,$content,$apikey); if($result){ return false; }else{ return true; } //echo $vcode; //echo $result; } function sendSMS($username,$password,$mobile,$content,$apikey) { $url = 'http://m.5c.com.cn/api/send/?'; $data = array ( 'username'=>$username, //使用者賬號 'password'=>$password, //密碼 'mobile'=>$mobile, //號碼 'content'=>$content, //內容 'apikey'=>$apikey, //apikey ); $result= curlSMS($url,$data); //POST方式提交 return $result; } function curlSMS($url,$post_fields=array()){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 3600); //60秒 curl_setopt($ch, CURLOPT_HEADER,1); curl_setopt($ch, CURLOPT_REFERER,'http://www.xxoo.com'); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,$post_fields); $data = curl_exec($ch); curl_close($ch); $res = explode("\r\n\r\n",$data); // return $res[2]; } //$vcode = rand(1000,9999); //$mobile = $_POST['mobile']; //sendmsg($vcode,$mobile); ?>
2、控制器
//傳送簡訊
import('Org.Msg');
$vcode=mt_rand(000000,999999);
$mobile=I('post.mobile');
$result=sendmsg($vcode,$mobile);//解釋下引數: 引數1---驗證碼, 引數2----手機號;
if($result===false){
//傳送失敗
echo '傳送簡訊失敗,請重試';exit;
}else{
//傳送成功
echo '簡訊驗證碼已傳送';exit;
}
有圖有真相