• 技术文章 >php教程 >php手册

    一个简单的php图形验证码生成程序

    2016-06-13 10:04:06原创291
    生成验证码原理相当简单就是利用mt_rand随机生成一个数字,然后保存到session中用来用户登录时判断输入的验证码与我们生成的是否一致,然后就是把随机数字利用php gd函数生成一张图片,这样就完成了验证码的生成了。
    代码如下 复制代码

    /**
    *
    * @file imgvcode.php
    * @create date 2007-09-25
    * @copyright (c) 2005 - 2007 eifr.com
    * @license http://www.hzhuti.com/nokia/n97/

    * eifr is free software
    */

    session_start();

    // main
    $vcodes = '';
    //generate Number 4
    srand((double)microtime()*1000000);
    for($i=0;$i<4;$i++){
    $vcodes.=rand(1,9);
    }

    $_SESSION['eifr_checkvcode'] = $vcodes;

    if(function_exists('imagecreate')){
    //generate picture validation code
    Header("Content-type: image/PNG");

    $img = imagecreate(44,18);
    $bg = ImageColorAllocate($img, 245,245,245);
    imagefill($img,0,0,$bg); //background


    //generate Number 4
    for($i=0;$i<4;$i++){
    $font = ImageColorAllocate($img, rand(100,255),rand(0,100),rand(100,255));
    $vnum = substr($vcodes, $i, 1);
    imagestring($img, 5, 2+$i*10, 1, $vnum, $font);
    }

    //add interference
    for($i=0;$i<100;$i++)
    {
    $randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($img, rand()%70 , rand()%30 , $randcolor);
    }
    ImagePNG($img);
    ImageDestroy($img);
    }

    ?>

    注:php生成验证码需要开启php gd图片库哦,要不是不能生成的。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP 浏览器缓存的各种操作方法 下一篇:php中获取文件后缀名多种方法
    Web大前端开发直播班

    相关文章推荐

    • 一个odbc连mssql分页的类_php基础• 自己项目中PHP常用工具类大全分享,php工具类大全分享• 浅析iis7.5安装配置php环境,浅析iis7.5安装配置• PHP随机生成唯一HASH值自定义函数,phphash自定义函数• php的二进制安全

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网