热搜:NVER node 开发 php

php图片验证码生成代码

2024-07-21 14:10:01
php图片验证码生成代码

首先在index.php页面

    function identity(){         $this->load->view('index',$data);        }            function codes(){        if($_POST['code'] == $_SESSION['code']){            echo 'ok';        }else{            echo 'no';        }     }        function create_code(){       session_start();        //生成验证码图片        ob_clean();         //header("Content-type:image/png");        //全数字        $str="1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f";//要显示的字符,自己可以增加或删除        $list=explode(",",$str);        $r=count($list)-1;        $laststr="";        for($i=0;$i<4;$i++){                $randnum=mt_rand(0,$r);                $laststr .= $list[$randnum];//取出字符,组合成要显示的字符串            }        $_SESSION['code']=$laststr; //将字符串放入SESSION中        //echo $laststr;        $img=imagecreate(28,28);//生成图片        $black=imagecolorallocate($img,0,0,0);  //  设置颜色        $white=imagecolorallocate($img,255,255,255);        $gray=imagecolorallocate($img,200,200,200);        $red=imagecolorallocate($img,255,0,0);        $cl = imagefill($img,0,0,$red);//给图片填充颜色                //将验证法放入图片        imagestring($img,4,10,8,$laststr,$black);//将验证码放到图片上        for ($i=0;$i<8;$i++){                $lineColor        = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));                imageline ($img,rand(0,$x),0,rand(0,$x),$y,$lineColor);        }        //干扰点        for ($i=0;$i<250;$i++){                imagesetpixel($img,rand(0,$x),rand(0,$y),$fontColor);        }        $aa = imagepng($img);        $bb = imagedestroy($img);              //echo $aa;    }

在视图页面index.php

 

可以去尝试下看看