1. 云栖社区>
  2. PHP教程>
  3. 正文

php图片验证码的例子

作者:用户 来源:互联网 时间:2017-12-01 12:01:18

图片验证码

php图片验证码的例子 - 摘要: 本文讲的是php图片验证码的例子, 代码如下: <?php /** * 生成验证码图片 * site www.ahlinux.com * @param String $word 验证码在session中的变量名称 */ function vali

代码如下:

<?php   /**   * 生成验证码图片   * site www.ahlinux.com  * @param String $word 验证码在session中的变量名称   */   function valiCode($word='randcode'){    Header("Content-type: image/gif");    $border = 0; //是否要边框 1要:0不要    $how = 4; //验证码位数    $w = $how*15; //图片宽度    $h = 18; //图片高度    $fontsize = 10; //字体大小    $alpha = "abcdefghijkmnpqrstuvwxyz"; //验证码内容1:字母    $number = "23456789"; //验证码内容2:数字    $randcode = ""; //验证码字符串初始化    srand((double)microtime()*1000000); //初始化随机数种子    $im = ImageCreate($w, $h); //创建验证图片    /*   * 绘制基本框架   */    $bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色    ImageFill($im, 0, 0, $bgcolor); //填充背景色    if($border)    {     $black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色     ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框    }        /*   * 逐位产生随机字符   */    for($i=0; $i<$how; $i++)    {     $alpha_or_number = mt_rand(0, 1); //字母还是数字     $str = $alpha_or_number ? $alpha : $number;     $which = mt_rand(0, strlen($str)-1); //取哪个字符     $code = substr($str, $which, 1); //取字符     $j = !$i ? 4 : $j+15; //绘字符位置     $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色     ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符     $randcode .= $code; //逐位加入验证码字符串    }        /*   * 如果需要添加干扰就将注释去掉   *   * 以下for()循环为绘背景干扰线代码   */    /* +  -----绘背景干扰线 开始 ----- + */    for($i=0; $i<5; $i++)//绘背景干扰线    {     $color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色     ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线    }    /* +  -----绘背景干扰线 结束 ------ + */        /*   * 如果需要添加干扰就将注释去掉   *   * 以下for()循环为绘背景干扰点代码   */    /* +  ------绘背景干扰点 开始 ------- + */        for($i=0; $i<$how*40; $i++)//绘背景干扰点    {     $color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色     ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点    }        /* +  ------绘背景干扰点 结束 --------- + */        //把验证码字符串写入session  方便提交登录信息时检验验证码是否正确  例如:$_POST['randcode'] = $_SESSION['randcode']    $_SESSION[$word] = $randcode;    /*绘图结束*/    Imagegif($im);    ImageDestroy($im);    /*绘图结束*/   }   ?>
您可能感兴趣的文章
php验证码简单函数代码(附效果图)
分享一个php 验证码类及调用示例
php验证码的三个实例代码分享
一个php验证码的封装类
php自定义大小验证码的实例代码
php生成扭曲及旋转的验证码图片的实例代码
php仿QQ验证码的实现代码
php验证码函数使用的例子
php5验证码类(简易实用型)
php验证码(GD库生成验证码)的例子
php点击验证码实时刷新的实现代码
php彩色验证码的简单例子
php验证码刷新与局部刷新的实现方法
php GD库生成验证码的实例
php生成验证码的例子
php随机验证码 php生成随机验证码(图文)
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索图片 验证码 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备