>  기사  >  PHP 프레임워크  >  ThinkPHP 인증코드 플러그인 설치 방법

ThinkPHP 인증코드 플러그인 설치 방법

WBOY
WBOY앞으로
2023-06-02 21:08:371115검색

먼저 ThinkPHP 공식 홈페이지를 열고 인증코드와 관련된 컨텐츠를 검색해야 합니다. 검색결과에는 인증코드를 소개하는 문서와 이미 개발된 인증코드 플러그인을 찾을 수 있습니다. 이 글에서는 공식적으로 제공되는 인증코드 플러그인을 사용하는 방법과 수동으로 코드를 작성하는 두 가지 인증코드 통합 방법을 소개합니다.

1. 공식 인증 코드 플러그인 사용

공식 문서에서 ThinkPHP 인증 코드 플러그인 사용 방법을 확인할 수 있습니다. 공식 플러그인을 사용하려면 다음 단계를 수행해야 합니다.

1.1 ThinkPHP 프레임워크의 확장 디렉터리에 새 확인 폴더를 만들고 다운로드한 확인 코드 플러그인을 여기에 넣습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제