php制作验证码

Posted 纯敬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php制作验证码相关的知识,希望对你有一定的参考价值。

我们知道,验证码是一张图片,但是php本身并不支持图片的处理,需要借助于GD库。

我们来看一下利用gd库实现验证码的制作:

直接看代码~

<?php
    //制作验证码

    $im=imagecreatetruecolor(200,50);

    //创建背景色

    $color=imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));

    //填充画布

    imagefill($im,0,0,$color);
    
    //获取验证码数据
    $str=‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789‘;
    $captcha=‘‘;
    for($i=0;$i<5;$i++)
    {
        $captcha .=$str[mt_rand(0,strlen($str)-1)];
    }

    //设置文字颜色
    $str_color=imagecolorallocate($im,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));

    //将文字写入图片

    imagestring($im,5,80,20,$captcha,$str_color);

    //增加干扰线(要在字上层)
    for($j=0;$j<5;$j++)
    {
    $line_color=imagecolorallocate($im,mt_rand(100,200),mt_rand(100,200),mt_rand(100,200));

    //划线
    
    imageline($im,mt_rand(0,200),mt_rand(0,50),mt_rand(0,200),mt_rand(0,50),$line_color);
    }
        //画点
    for($i=0;$i<300;$i++)
        {
        $line_pixel=imagecolorallocate($im,mt_rand(100,200),mt_rand(100,200),mt_rand(100,200));

        imagesetpixel($im,mt_rand(0,200),mt_rand(0,50),$line_pixel);
        }
    header(‘Content-type:image/png‘);

    imagepng($im);

以上是关于php制作验证码的主要内容,如果未能解决你的问题,请参考以下文章

制作简单安全的php验证码类代码实例

php制作验证码

php验证码的制作

PHP实现验证码制作

PHP实现验证码制作

PHP_制作验证码