Maison  >  Article  >  cadre php  >  Comment installer le plug-in de code de vérification ThinkPHP

Comment installer le plug-in de code de vérification ThinkPHP

WBOY
WBOYavant
2023-06-02 21:08:371115parcourir

Nous devons d'abord ouvrir le site officiel de ThinkPHP et rechercher le contenu lié au code de vérification. Nous pouvons trouver des documents introduisant des codes de vérification et des plug-ins de codes de vérification déjà développés dans les résultats de recherche. Cet article présentera deux méthodes d'intégration du code de vérification : l'utilisation du plug-in de code de vérification officiellement fourni et l'écriture manuelle du code.

1. Utilisez le plug-in de code de vérification officiel

Dans la documentation officielle, nous pouvons trouver comment utiliser le plug-in de code de vérification ThinkPHP. Pour utiliser le plug-in officiel, vous devez effectuer les étapes suivantes :

1.1 Créez un nouveau dossier Verify dans le répertoire d'extension du framework ThinkPHP et placez-y le plug-in de code de vérification téléchargé.

1.2 Affichez le fichier de configuration ThinkPHP et pointez l'élément de configuration du code de vérification vers le dossier où le plug-in du code de vérification vient d'être placé. Le code spécifique est le suivant :

'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_",//密钥
    ...
],

Il est à noter que les paramètres imageW et imageH peuvent être définis en fonction de la situation réelle. Si elle n’est pas définie, la taille de l’image du code de vérification sera la même que la taille de l’image de sortie par défaut.

1.3 Partout où le code de vérification doit être généré, utilisez le code suivant pour intégrer le plug-in du code de vérification officiel :

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

2 Écrivez manuellement le code de génération du code de vérification

En plus d'utiliser le plug-in officiel. , nous pouvons également écrire manuellement le code de génération du code de vérification . Le processus spécifique est le suivant :

Tout d'abord, nous devons créer une classe de code de vérification, qui contient des méthodes pour générer et générer des codes de vérification. Le code suivant est une partie importante de la classe des codes de vérification codés à la main :

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 Utilisez le code suivant pour générer et afficher des codes de vérification lorsque des codes de vérification sont requis :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer