当我们要使用先在php.ini里增加一行引用:extension=php_gd2.dll
重启apache。做一个测试页 var_dump(gd_info());输出数据表明PHP GD库引用成功。
表单auth.html
- html>
- head>
- meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
- title>验证码title>
- head>
- body>
- h1>请输入验证码h1>
- form action="check_auth.php" method="post">
- input name="auth" type="text">
- img src="auth.php" border="0" />
- input type="submit" value="提交">
- form>
- body>
- html>
PHP GD库生成验证码 auth.php
- php
- session_start();
- header("Content-type:image/png");
- $img_width=100;
- $img_height=20;
- srand(microtime()*100000);
- for($i=0;$i4;$i++)
- {
- $new_number.=dechex(rand(0,15));
- }
- $_SESSION[check_auth]=$new_number;
- $new_number=imageCreate($img_width,$img_height);//创建图象
- ImageColorAllocate($new_number,255,255,255); //设置背景色为白色
- for($i=0;$istrlen($_SESSION[check_auth]);$i++)
- {
- $font=mt_rand(3,5);
- $x=mt_rand(1,8) + $img_width*$i/4;
- $y=mt_rand(1,$img_height/4);
- $color=imageColorAllocate($new_number,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//设置字符颜色
- imageString($new_number,$font,$x,$y,$_SESSION[check_auth][$i],$color);//输出字符
- }
- ImagePng($new_number);
- ImageDestroy($new_number);
- ?>
PHP GD库提交页面 check_auth.php
- php
- session_start();
- $auth=$_POST['auth'];
- if(empty($auth))
- {
- echo '错误:验证码不能为空';
- die;
- }
- if($auth==$_SESSION['check_auth'])
- {
- echo '正确';
- }
- else
- {
- echo '错误:验证码输入错误';
- }
- ?>
以上就是本文所介绍的PHP GD库生成验证码的相关知识,希望对大家有所帮助。
已抢66680个
抢已抢38207个
抢已抢21105个
抢已抢2660个
抢已抢920个
抢已抢19180个
抢