php验证码 GD库生成验证码

来源:互联网 发布:两年经验的程序员工资 编辑:程序博客网 时间:2024/05/23 11:58

为大家介绍一个php使用GD库生成验证码的例子,有需要的朋友,可以参考下。

通过GD生成PNG图片,并把$randval随机数字赋给$_SESSION['login_check_num'],在通过用户输入的$_POST进行比较,来判断是否正确。

注意:如果服务器未开启GD库支持,需要修改php.ini文件,使php支持GD库。

代码如下:

01<?php
02//调用生成验证码图片
03//by http://www.jbxue.com
04if($_GET["action"]=="verifycode")
05{
06    rand_create();
07}
08//生成验证码图片
09function rand_create()
10{
11    //通知浏览器将要输出PNG图片
12    Header("Content-type: image/PNG");
13    //准备好随机数发生器种子
14    srand((double)microtime()*1000000);
15    //准备图片的相关参数 
16    $im = imagecreate(62,20);
17    $black = ImageColorAllocate($im, 0,0,0);  //RGB黑色标识符
18    $white = ImageColorAllocate($im, 255,255,255); //RGB白色标识符
19    $gray = ImageColorAllocate($im, 200,200,200); //RGB灰色标识符
20    //开始作图   
21    imagefill($im,0,0,$gray);
22    while(($randval=rand()%100000)<10000);{
23        $_SESSION["login_check_num"] = $randval;
24        //将四位整数验证码绘入图片
25        imagestring($im, 5, 10, 3, $randval$black);
26    }
27    //加入干扰象素  
28    for($i=0;$i<200;$i++){
29        $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
30        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
31    }
32    //输出验证图片
33    ImagePNG($im);
34    //销毁图像标识符
35    ImageDestroy($im);
36}
37//检验验证码
38function rand_check()
39{
40    if($_POST["reg_rand"] == $_SESSION["login_check_num"]){
41        return true;
42    }
43    else{
44        exit("验证码输入错误");
45    }
46}
47?>

您可能感兴趣的文章:
php图片验证码的例子
php彩色验证码的简单例子
php GD库生成验证码的实例
php生成验证码的例子
php 验证码类 php 验证码
php随机验证码 php生成随机验证码(图文)
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码
php写的一个验证码
php生成动态图片验证码的一段代码