PHP 教程:基于 Zend 的 Captcha 机制的应用
本文为大家介绍了,基于 Zend 的 Captcha 机制的应用。供大家参考下
如何生成验证码图片?使用 php 的 GD
? ok,right。其实 Zend 的 Captcha 模块已经封装好
了。这篇文章就说一下如何使用 Zend 的 Captcha 模块。
环境安装
首先 Zend 的 Captcha 需要安装 GD。查看有没有安装 GD 需要去 phpinfo()中看是否有 GD 模
块。(注意,有可能出现 php -m 里面的模块有 gd 但 phpInfo()里面的模块没有 gd,这个问
题是说明你的 PHP 和 Apache 没有安装对。具体请去 google 之)
生成验证码图片
使用 Zend_Captcha_Image 类
代码如下:
$captcha
=
new
Zend_Captcha_Image();
$captcha
->setWordLen('4')
->setHeight('60')
->setFont(NCHANNEL_FONT_DIR . '/arial.ttf')
->setImgDir(NCHANNEL_CAPTCHA_DIR)
->setDotNoiseLevel('5')
->setLineNoiseLevel('5');
$id
=
$captcha
->generate();
$code
=
$captcha
->getWord();
1 这里有两个变量需要说一下,
$id
和
$code
。
图片文件名就是
$id
. ".png"; 这个 id 是一个随机数。
$code
是这个图片中的文字,就是验证码的答案
2 setWordLen 等设置的接口是 Zend_Captcha_Image 暴露给外面的对验证码图片的设置。其
实看函数名也能知道是做什么的了。具体请参考 Zend 的 Api 手册。
3 font 字体文件必须在服务器上有,ImgDir 设置的是图片生成路径
验证验证码图片
好了,生成了验证码图片,现在要验证验证码了。
验证步骤就需要用到 Zend_Session_Namespace 这个 session 存储模块。