午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

驗證碼

首先使用Composer安裝think-captcha擴展包:

composer require topthink/think-captcha

官方的5.0版本的擴展庫版本號都是1.*2.0版本均為ThinkPHP5.1版本專用。

驗證碼的簡單用法

擴展包內定義了一些常見用(yong)(yong)法方便使用(yong)(yong),以下示例(li)說(shuo)明

注意:需要(yao)開啟URL路由(you)。

模版內驗證碼(ma)的顯示

<div>{:captcha_img()}</div>

或者

<div><img src="{:captcha_src()}" alt="captcha" /></div>

上(shang)面兩(liang)種的最終效果是(shi)一樣的,根據需要調用即可。

使用TP5的內置驗證功能,添加captcha驗證規則即可

$this->validate($data,[
    'captcha|驗證碼(ma)'=>'require|captcha'
]);

或者手動驗證

if(!captcha_check($captcha)){
 //驗證失敗
};

驗證碼的自定義用法

如果項目未開啟路由,或者有實際需求可自行調用Captcha類操作

驗(yan)證(zheng)碼(ma)的生(sheng)成:

$captcha = new Captcha();
return $captcha->entry();

如(ru)(ru)果(guo)你(ni)需(xu)要(yao)在一(yi)個頁面中生成多(duo)個驗證碼(ma)的話,entry方法需(xu)要(yao)傳入可標識的信息,例如(ru)(ru):

$captcha = new Captcha();
return $captcha->entry(1);

驗證碼的驗證:
可以用Captcha類的check方(fang)法檢(jian)測驗證碼的輸入是(shi)(shi)否正確,例如,下面(mian)是(shi)(shi)封裝的一個驗證碼檢(jian)測的函(han)數:

// 檢(jian)測輸入的驗(yan)證碼(ma)(ma)是否正確,$code為(wei)用(yong)戶輸入的驗(yan)證碼(ma)(ma)字符串,$id多個驗(yan)證碼(ma)(ma)標識(shi)
function check_verify($code, $id = ''){
    $captcha = new Captcha();
    return $captcha->check($code, $id);
}

驗證碼的配置參數

Captcha類帶有默認的配(pei)置參數(shu),支持自定義配(pei)置。這(zhe)些(xie)參數(shu)包括:

如果使用了擴展內置的方法,務必在應用配置文件中配置,5.0.1及以上支持者在應用配置目錄下面extra子目錄內配置captcha.php文件

參數 描述 默認
codeSet 驗證碼字符集合
expire 驗證碼過期時間(s) 1800
useZh 使用中文驗證碼 false
zhSet 中文驗證碼字符串
useImgBg 使用背景圖片 false
fontSize 驗證碼字體大小(px) 25
useCurve 是否畫混淆曲線 true
useNoise 是否添加雜點 true
imageH 驗證碼圖片高度,設置為0為自動計算 0
imageW 驗證碼圖片寬度,設置為0為自動計算 0
length 驗證碼位數 5
fontttf 驗證碼字體,不設置是隨機獲取
bg 背景顏色 [243, 251, 254]
reset 驗證成功后是否重置 true

參數設置使用兩種方式。
實例化(hua)傳入(ru)參(can)數(shu):

$config =    [
    // 驗(yan)證碼字體大小
    'fontSize'    =>    30,    
    // 驗證碼位數
    'length'      =>    3,   
    // 關閉驗證碼(ma)雜點
    'useNoise'    =>    false, 
];
$captcha = new Captcha($config);
return $captcha->entry();

或(huo)者(zhe)采用動態設置的方式,如:

$captcha = new Captcha();
$captcha->fontSize = 30;
$captcha->length   = 3;
$captcha->useNoise = false;
return $captcha->entry();

驗證碼字體

默認情況下,驗證碼的字體是隨機使用擴展包內 think-captcha/assets/ttfs目錄下面的(de)字體(ti)文件,我們(men)可(ke)以指(zhi)定驗證碼(ma)的(de)字體(ti),例如:

$captcha = new Captcha();
$captcha->fontttf = '5.ttf'; 
return $captcha->entry();

背景圖片

支持驗證(zheng)碼背景圖(tu)片功(gong)能(neng),可以(yi)如下設置:

$captcha = new Captcha();
// 開啟驗證(zheng)碼背(bei)景圖(tu)片功能 隨(sui)機使用擴展包(bao)內`think-captcha/assets/bgs`目錄(lu)下面(mian)的圖(tu)片
$captcha->useImgBg = true; 
return $captcha->entry();

中文驗證碼

如果要使(shi)用中文驗證碼,可以設置(zhi):

$captcha = new Captcha();
//中(zhong)午(wu) 驗證(zheng)碼字(zi)體使用擴展包內(nei)`think-captcha/assets/zhttfs`字(zi)體文件
$captcha->useZh = true; 
return $captcha->entry();

指定(ding)驗(yan)證(zheng)碼字(zi)符

指定驗證碼的字(zi)符,可以(yi)設置:

$captcha = new Captcha();
// 設置驗證碼(ma)字符為(wei)純數字
$captcha->codeSet = '0123456789'; 
return $captcha->entry();

如果是中文驗證碼,可以使用zhSet參數設置,例如:

$captcha = new Captcha();
$captcha->useZh = true;
// 設置(zhi)驗證碼字符
$captcha->zhSet = '們以(yi)我到(dao)他會作時要動(dong)國產的一是工就年階義發成部民可出能方進在(zai)了不和有(you)大這'; 
return $captcha->entry();

默認的驗證碼字符已經剔除了易混淆的1l0o等字符

文檔最后更新時間:2018-04-26 10:54:16

文檔
目錄

深色
模式

切換
寬度