1. 程式人生 > >ThinkPHP3.2.3整合傳送手機簡訊驗證碼

ThinkPHP3.2.3整合傳送手機簡訊驗證碼

說明:

每條價格在幾分錢,買的量越大,優惠力度越大。

主要程式碼

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;
}

大笑有圖有真相