<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                首先使用`Composer`安裝`think-captcha`擴展包: ~~~ composer require topthink/think-captcha=2.0.* ~~~ ## 驗證碼的簡單用法 擴展包內定義了一些常見用法方便使用,可以滿足大部分常用場景,以下示例說明。 在模版內添加驗證碼的顯示代碼 ~~~ <div>{:captcha_img()}</div> ~~~ 或者 ~~~ <div><img src="{:captcha_src()}" alt="captcha" /></div> ~~~ >[info]上面兩種的最終效果是一樣的,根據需要調用即可。 然后使用框架的內置驗證功能(具體可以參考驗證章節),添加`captcha`驗證規則即可 ~~~ $this->validate($data,[ 'captcha|驗證碼'=>'require|captcha' ]); ~~~ 如果沒有使用內置驗證功能,則可以調研內置的函數手動驗證 ~~~php if(!captcha_check($captcha)){ // 驗證失敗 }; ~~~ ## 驗證碼的自定義用法 如果需要自己獨立生成驗證碼,可以調用`Captcha`類(`think\captcha\Captcha`)操作。 在控制器中使用下面的代碼進行驗證碼生成: ~~~ <?php namespace app\index\controller; use think\captcha\Captcha; class Index { public function verify() { $captcha = new Captcha(); return $captcha->entry(); } } ~~~ 然后訪問下面的地址就可以顯示驗證碼: ~~~ http://serverName/index/index/verify ~~~ 輸出效果如圖 ![](https://box.kancloud.cn/dcbf30b119dc2bb7ec6f41d943b5646c_250x62.png) 通常可以給驗證碼地址注冊路由 ~~~ Route::get('verify','index/verify'); ~~~ 在模板中就可以使用下面的代碼顯示驗證碼圖片 ~~~html <div><img src="{:url('index/verify')}" alt="captcha" /></div> ~~~ 如果你需要在一個頁面中生成多個驗證碼的話,`entry`方法需要傳入可標識的信息(數字或者字符串),例如: ~~~ $captcha = new Captcha(); return $captcha->entry(1); ~~~ 可以用`Captcha`類的`check`方法檢測驗證碼的輸入是否正確, ~~~ // 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串 $captcha = new Captcha(); if( !$captcha->check($value)) { // 驗證失敗 } ~~~ 或者直接調用封裝的一個驗證碼檢測的函數`captcha_check` ~~~php // 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串 if( !captcha_check($value )) { // 驗證失敗 } ~~~ 如果你在頁面上同時生成了多個驗證碼,則可以使用 ~~~php // 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串,$id為驗證碼標識 if( !captcha_check($value, $id )) { // 驗證失敗 } ~~~ ## 驗證碼的配置參數 `Captcha`類帶有默認的配置參數,支持自定義配置。這些參數包括: | 參數 | 描述 | 默認 | | --- | --- | --- | | 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 | >[danger] 如果使用擴展內置的方法進行驗證碼顯示,直接在應用的`config`目錄下面的`captcha.php`文件(沒有則首先創建)中進行設置即可,以下設置方式僅限于獨立調用Captcha類的時候使用。 實例化傳入參數: ~~~ $config = [ // 驗證碼字體大小 'fontSize' => 30, // 驗證碼位數 'length' => 3, // 關閉驗證碼雜點 'useNoise' => false, ]; $captcha = new Captcha($config); return $captcha->entry(); ~~~ 或者采用動態設置的方式,如: ~~~ $captcha = new Captcha(); $captcha->fontSize = 30; $captcha->length = 3; $captcha->useNoise = false; return $captcha->entry(); ~~~ ### 驗證碼字體 默認情況下,驗證碼的字體是隨機使用擴展包內 `think-captcha/assets/ttfs`目錄下面的字體文件,我們可以指定驗證碼的字體,例如: ~~~ $captcha = new Captcha(); $captcha->fontttf = '5.ttf'; return $captcha->entry(); ~~~ ### 背景圖片 支持驗證碼背景圖片功能,可以如下設置: ~~~ $captcha = new Captcha(); // 開啟驗證碼背景圖片功能 隨機使用擴展包內`think-captcha/assets/bgs`目錄下面的圖片 $captcha->useImgBg = true; return $captcha->entry(); ~~~ ### 中文驗證碼 如果要使用中文驗證碼,可以設置: ~~~ $captcha = new Captcha(); // 使用中文驗證碼(字體使用擴展包內`think-captcha/assets/zhttfs`字體文件) $captcha->useZh = true; return $captcha->entry(); ~~~ ### 指定驗證碼字符 指定驗證碼的字符,可以設置: ~~~ $captcha = new Captcha(); // 設置驗證碼字符為純數字 $captcha->codeSet = '0123456789'; return $captcha->entry(); ~~~ 如果是中文驗證碼,可以使用`zhSet`參數設置,例如: ~~~ $captcha = new Captcha(); $captcha->useZh = true; // 設置驗證碼字符 $captcha->zhSet = '們以我到他會作時要動國產的一是工就年階義發成部民可出能方進在了不和有大這'; return $captcha->entry(); ~~~ >[info] 默認的驗證碼字符已經剔除了易混淆的`1l0o`等字符
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看