本文标签:PHP GD库
当我们要使用PHP进行图像操作的时候,必然会使用到一个PHP GD库,它是一个很强大的库 。今天我们要向大家介绍的就是PHP GD库如何生成验证码的相关方法 。
- PHP获取当前url的具体方法介绍
- PHP程序员最容易出现的错误总结
- PHP获取远程URL的实例讲解
- PHP伪静态的四种方法总结
- PHP实现伪静态化页面的具体实现方式
先在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;$i<4;$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;$i<strlen($_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库生成验证码的相关知识,希望对大家有所帮助 。
|