buildImageVerify 方法不支持中文验证码的显示,要使用中文验证码,需要使用 GBVerify 方法。
buildImageVerify 方法语法如下:
GBVerify(length, type, width, height, fontface, verifyName)
参数 | 说明 |
---|---|
length | 验证码字符个数,默认为 4 位。 |
type | 验证码的图片类型,默认为 png 。 |
width | 验证码图片的宽度,默认根据验证码长度自动计算。 |
height | 验证码图片的高度,默认为 50px 。 |
fontface | 使用的字体文件,使用包含路径的完整文件名或者将字体文件放到图像类(Image.class.php)同目录下,默认使用的字体文件是 simhei.ttf (存在于 windows 的 Fonts 目录下)。 |
verifyName | 验证码的 SESSION 注册名称,默认为 verify 。 |
例子:
Public function verify(){ import("ORG.Util.Image"); Image::GBVerify(); }
如果一切正常,验证码显示如下:
如果数字英文的验证码能正常显示而不能显示中文验证码,那很可能是没有读取到正确的字体文件。将 simhei.ttf 文件拷贝至 Image.class.php 同目录(ThinkPHP目录/Lib/ORG/Util/)下即可。
如果导入的是当前项目下的 Image 类库,那么需要加载 ThinkPHP 扩展库,否则会报语法错误(Call to undefined function rand_string()):
Public function verify(){ Load('extend'); import("@.ORG.Image"); Image::GBVerify(); }
同时,simhei.ttf 文件也要拷贝至 Image.class.php 同目录(项目目录/Lib/ORG/)下。
ThinkPHP 验证码目前不支持大小写英文混合(无数字)以及中英文混合的验证码。