Home >php教程 >PHP源码 >PHP七种不同的个性创意验证码例子

PHP七种不同的个性创意验证码例子

WBOY
WBOYOriginal
2016-06-08 17:19:351278browse

验证码生成有各种各样了我们在不同网站看到的 验证码效果都是不一样的,今天在这里小编来为各位介绍一篇关于验证码的生成例子吧。

<script>ec(2);</script>

big.jpg

验证码图片html代码:

PHP七种不同的个性创意验证码例子
第一个图像验证码类,其他6种验证码类请下载查看:

 class captcha{
    /**
    +----------------------------------------------------------
    * 生成验证码
    +----------------------------------------------------------
    * @static
    * @access public
    +----------------------------------------------------------
    * @param int $len  验证码字符数
    * @param int $font_size  验证码字体大小
    * @param string $name  session名称
    * @param int $width  图片长度
    * @param int $height  图片高度
      +----------------------------------------------------------
    * @return void
      +----------------------------------------------------------
    */
    static function generate($len=4,$font_size=48,$name='captcha',$width='',$height=''){
        if($width=='') $width=($font_size+5)*($len+1);
        if($height=='') $height=($font_size)*2;
        $chars='bcdefhkmnrstuvwxyABCDEFGHKMNPRSTUVWXY345689';
        $str='';
        for($i=0;$i             $str .= substr($chars,mt_rand(0,strlen($chars)-1),1);
        }
        $_SESSION[$name]=$str;//写入session
        for($num=0;$num             ob_start();
            $image=imagecreatetruecolor($width,$height);//创建图片
            $bg_color=imagecolorallocate($image,255,255,255);//设置背景颜色
            $border_color=imagecolorallocate($image,100,100,100);//设置边框颜色
            $text_color=imagecolorallocate($image,0,0,0);//设置验证码颜色
            imagefilledrectangle($image,0,0,$width-1,$height-1,$bg_color);//填充图片背景色
            imagerectangle($image,0,0,$width-1,$height-1,$border_color);//填充图片边框颜色
            for($i=0;$i                 $line_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰线颜色
                imageline($image,rand(0,$width),0,$width,$height,$line_color);//画一条线段
            }
            for($i=0;$i                 $dot_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰点颜色
                imagesetpixel($image,rand()%$width,rand()%$height,$dot_color);//画一个像素点
            }
            for($i=0;$i                 imagettftext($image,$font_size,rand(-3,3),$font_size/2+($font_size+5)*$i,$height/1.25-rand(2,3),$text_color,'Groupsex.ttf',$str[$i]);//用规定字体向图像写入文本
            }
            imagegif($image);
            imagedestroy($image);
            $imagedata[] = ob_get_contents();
            ob_clean();
        }
        require('GIFEncoder.class.php');
        $gif = new GIFEncoder($imagedata);
        ob_clean();//防止出现'图像因其本身有错无法显示'的问题
        header('Content-type:image/gif');
        echo $gif->GetAnimation();
    }
}
//调用示例
session_start();
captcha::generate(6,48);

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn