加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP生成图片验证码

发布时间:2020-05-25 06:35:46 所属栏目:PHP 来源:互联网
导读:PHP生成图片验证码

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

/**
 * 验证码类,用于产生各种验证码
 */
class captcha{
 
 
    /**
     * 生成验证码
     * @param int $length 码字符长度
     * @param int $width 宽度
     * @param int $height 长度
     * @param string $type 类型
     * @return 
     */
    public static function getCode($length=4,$width=50,$height=22,$type='png') 
    {
        //session_start();
        $randval = self::randString($length);
        //$_SESSION['captcha']= $randval;
         
        $width = ($length*9+10)>$width?$length*9+10:$width;
        if ( $type!='gif' && function_exists('imagecreatetruecolor')) {
            $im = @imagecreatetruecolor($width,$height);
        }else {
            $im = @imagecreate($width,$height);
        }
        $r = Array(225,255,223);
        $g = Array(225,236,237,255);
        $b = Array(225,166,125);
        $key = mt_rand(0,3);
 
        $backColor = imagecolorallocate($im,$r[$key],$g[$key],$b[$key]);    //背景色(随机)
        $borderColor = imagecolorallocate($im,100,100);                    //边框色
        $pointColor = imagecolorallocate($im,mt_rand(0,255),255));            //点颜色
        @imagefilledrectangle($im,$width - 1,$height - 1,$backColor);
        @imagerectangle($im,$width-1,$height-1,$borderColor);
        $stringColor = imagecolorallocate($im,200),120),120));
        // 干扰
        for($i=0;$i<10;$i++){
            $fontcolor=imagecolorallocate($im,255));
            imagearc($im,mt_rand(-10,$width),$height),mt_rand(30,300),mt_rand(20,55,44,$fontcolor);
        }
        for($i=0;$i<25;$i++){
            $fontcolor=imagecolorallocate($im,255));
            imagesetpixel($im,$pointColor);
        }
        @imagestring($im,10,20,$randval,$stringColor);
 
           header("Content-type: Image/".$type);
        $ImageFun='Image'.$type;
        $ImageFun($im);
        imagedestroy($im); 
        return $randval;
    }
 
}

 include "../lib/captcha.class.php";
 $captcha = new captcha();
 $checkCode = $captcha->getCode(4,75,32);
 echo $checkCode;

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读