说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

PHP实现图形验证码案例(1)

HTML文档下载 WORD文档下载 PDF文档下载
PhpCaptcha图形验证码是网站中必备的基础设施,本文采用了Edword Eliot写的PhpCaptcha验证码生成库。开源的“最土团购”就是采用这个验证码生成库。

下载源代码

 

图形验证码是网站中必备的基础设施,本文采用了Edword Eliot写的PhpCaptcha验证码生成库。开源的“最土团购”就是采用这个验证码生成库,该库主要包含这么几个文件:

Captcha.inc.php 验证码生成库

Vera.ttf VeraBd.ttf VeraBI.ttf VeraIt.ttf 这几个文件是用于生成验证码文字的字库。

 

生成代码:

 

function CaptchaCreate($size){  $aFonts = array('Captcha/VeraBd.ttf', 'Captcha/VeraIt.ttf', 'Captcha/Vera.ttf');  $v = new PhpCaptcha($aFonts,100,50);  $v->UseColour(true);  $v->SetNumChars($size);  $v->Create();}ob_get_clean();CaptchaCreate(4);

PhpCaptcha有三个参数,分别是字库文件,生成图形的宽度,高度。

SetNumChars指定验证码字符的长度。

 

页面表单:

 

<form name="form1" method="post" action="check.php">    验证码:<input id="verifycode" type="text" name="verifycode" maxLength="6" /><img id="img-captcha" src="captcha.php?<?php echo microtime(true)?>" /><input type="submit" value="确认" /></form>

验证代码:

 

function verify_captcha(){	$v = strval($_REQUEST['verifycode']);	if(!$v || !PhpCaptcha::Validate($v))		return false;// 验证码不匹配,请重新输入	else		return true;}if(verify_captcha())	$message = '验证码正确';else	$message = '验证码不匹配,请重新输入'

注意事项:

在Captcha.inc.php里有一行 session_start(); 如果在你的主代码中已经调用了session_start();,可以将Captcha.inc.php中的session_start();注释掉,否则必须将session_start();启用。

 

具体代码可以查看本文带的源代码。

 

 

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘