博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php图片验证码生成代码
阅读量:6237 次
发布时间:2019-06-22

本文共 2336 字,大约阅读时间需要 7 分钟。

hot3.png

第一种方法:

首先在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

 
   
验证码:   
   
   
提交 

可以去尝试下看看

第二种方法:

       header("content-type:image/png");       ob_clean();         $img=imagecreate(44,18);                $bg=imagecolorallocate($img,245,245,245);//填充背景色        imagefill($img,0,0,$bg);//本函数将图片坐标 (x,y) 所在的区域着色。参数 col 表示欲涂上的颜色。        $vcode=" ";        for($i=0;$i<4;$i++)        {         $font_c=imagecolorallocate($img,6,6,6);//文本颜色         $num=rand(1,9);         $vcode=$vcode.$num;         imagestring($img,5,$i*10,1,$num,$font_c);//水平地画一行字符串        }        session_start();        $_SESSION['vcode']=$vcode;        imagepng($img); //imagepng — 以 PNG 格式将图像输出到浏览器或文件        imagedestroy($img);//销毁图像

转载于:https://my.oschina.net/meng527/blog/667400

你可能感兴趣的文章
查看Windows上开启的服务
查看>>
linux 常用命令
查看>>
Java 加解密技术系列之 DH
查看>>
VirtualBox三种联网方式
查看>>
Python中使用pickle持久化(保存)对象
查看>>
python3 pelican 搭建静态博客
查看>>
Android 自定义组合控件小结
查看>>
Android学习进阶路线导航线路(Android源码分享)
查看>>
解决Maven和Mybatis整合时打包漏掉mapper的xml文件及其它资源
查看>>
PHP面向对象访问控制public,protected,private
查看>>
MyBatis学习笔记二:增删改查
查看>>
SaltStack安装Tomcat
查看>>
java随机数
查看>>
数据库学习之--Oracle 架构与MySQL架构对比
查看>>
curl 证书访问https站点
查看>>
一篇文章入门Python生态系统
查看>>
Webapp下ClassLoader 加载机制
查看>>
Linux 计算机系统硬件核心知识总结
查看>>
php高级研发或架构师必了解---很多问题面试中常问到!
查看>>
使用DOM解析XML文件——构建实时地震信息列表
查看>>