ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP 検証コード プラグインのインストール方法

ThinkPHP 検証コード プラグインのインストール方法

WBOY
WBOY転載
2023-06-02 21:08:371120ブラウズ

まず、ThinkPHP 公式 Web サイトを開いて、検証コードに関連するコンテンツを検索する必要があります。検索結果には検証コードや既に開発されている検証コードプラグインを紹介するドキュメントがいくつか見つかります。この記事では、公式に提供されている検証コード プラグインを使用する方法と手動でコードを記述する 2 つの検証コードの統合方法を紹介します。

1. 公式の検証コード プラグインを使用する

公式ドキュメントには、ThinkPHP 検証コード プラグインの使用方法が記載されています。公式プラグインを使用するには、次の手順を実行する必要があります。

1.1 ThinkPHP フレームワークの extend ディレクトリに新しい Verify フォルダーを作成し、ダウンロードした検証コード プラグインをその中に置きます。

1.2 ThinkPHP 構成ファイルを表示し、検証コード構成項目が検証コード プラグインが配置されたフォルダーを指定します。具体的なコードは次のとおりです。

'verify' =>[
    //使用中文验证码
    'useZh'=>false,
    //验证码字体大小(px)
    'fontSize'=>25,
    //验证码位数
    'length'=>5,
    //验证码图片宽度(像素)
    'imageW'=>0,
    //验证码图片高度(像素)
    'imageH'=>0,
    //关闭验证码杂点 
    'useNoise'=>true,
    //背景颜色(16进制色值)
    'bg'=>[243, 251, 254],
    //需要包含的字符集合
    'codeSet'=>'0123456789',
    //验证码字符间隔(px)
    'seKey'=>"ThinkPHP.CN_",//密钥
    ...
],

パラメータ imageW および imageH は実際の状況に応じて設定できることに注意してください。設定されていない場合、検証コード画像のサイズはデフォルトで出力画像のサイズと同じになります。

1.3 検証コードを出力する必要がある場合は常に、次のコードを使用して公式の検証コード プラグインを統合します:

$img = ( new \Think\Verify())->entry();  
echo $img;

2. 検証コード生成コードを手動で記述します

公式プラグインを使用する以外に、検証コード生成コードを手動で記述することもできます。具体的なプロセスは次のとおりです。

まず、検証コードを生成および出力するためのメソッドを含む検証コード クラスを作成する必要があります。次のコードは、手動でコーディングされた検証コード クラスの重要な部分です:

class VerifyCode
{
    //验证码字符长度
    private $length = 4;

    //验证码字符数组
    private $codes = [];

    //验证码生成
    public function generate()
    {   
        //生成字符数组
        $this->codes = [];
        for($i = 0; $i < $this->length; ++$i) {
            $this->codes[] = chr(mt_rand(48, 57));
        }

        //保存字符数组到session中
        session(&#39;verifycode&#39;, implode(&#39;&#39;, $this->codes));

        //开启输出缓存
        ob_start();
        header(&#39;Content-Type:/image/png&#39;);

        //创建验证码图片
        $image = imagecreate(100, 40);

        //设置画布背景颜色 
        $bg_color = imagecolorallocate($image, 238, 238, 238); 
        imagefill($image, 0, 0, $bg_color);

        //绘制验证码字符
        for($i = 0; $i < $this->length; ++$i) {
            $font_file = &#39;/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf&#39;;
            $text_color = imagecolorallocate(
                $image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150));
            imagettftext($image, 24, mt_rand(-20, 20), 5 + $i * 25, 30, 
                         $text_color, $font_file, $this->codes[$i]);
        }

        //输出验证码图片
        imagepng($image);
        imagedestroy($image);
        $img = ob_get_contents();
        ob_end_clean();

        return $img;
    }
}

2.2 次のコードを使用して、検証コードが必要な場所で検証コードを生成および出力します:

$vf = new VerifyCode();
echo $vf->generate();

以上がThinkPHP 検証コード プラグインのインストール方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。