【编者按】:网学网网络知识为您提供简单四步实现齐博CMS验证码美化教程参考,解决您在简单四步实现齐博CMS验证码美化教程学习中工作中的难题,参考学习。
不知道大家有没有觉得,齐博默认的验证码看着总有点小气,效果不是那么正点。本来想直接参考其他程序的验证码函数重新写一下,但看过代码后发现齐博还有另外一种验证码样式效果。默认是简单,也就是后台验证码开启复杂模式,但换过以后也不是那么好看,线条和喷枪过多,一些眼神不好的人确实不容易分辨,那就在这个验证码的技术上做些修改,换个字体看下效果。
先看下改过的效果,不喜欢的话就不用看下面啦
1.INC/waterimage.php 查找"yz2img"函数,并用下面代码替换该函数(主要语句功能已做注释)
function yz2img($ck){
$im = imagecreate(65,30);
imagecolorallocate($im,mt_rand(192,255),mt_rand(192,255),mt_rand(192,255));
$icol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //数字颜色
$scol = imagecolorallocate($im,mt_rand(0,98),mt_rand(0,98),mt_rand(0,98)); //字母颜色
for($i=0; $i < 2; $i++) {
//$linecolor = imagecolorallocate($im, 17, 158, 20); //线条
$lefty = rand(1, 30-1);
$righty = rand(1, 30-1);
imageline($im, 0, $lefty, imagesx($im), $righty, $linecolor);
}
for($i=0;$i<strlen($ck);$i++)
intval($ck{$i}) ? imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$icol, dirname(__FILE__).''/elephant.ttf'', $ck{$i}) : imagettftext($im,16, mt_rand(-10, 10), $i*16, mt_rand(15, 30),$scol, dirname(__FILE__).''/elephant.ttf'', $ck{$i});
//imagettftext($im, 16, -5, 12, 22, $scol, ''comic.ttf'', $ck);
for($i=0;$i<15;$i++) imagesetpixel($im,mt_rand(0,65),mt_rand(0,30),imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));//喷枪
header("Content-type: image/jpeg");
header("Expires: -1");
header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0");
header("Pragma: no-cache");
imagejpeg($im);
imagedestroy($im);
}
2.上传elephant.ttf字体文件到inc目录下 (字体下载)
3.增强用户体验,再打开你的注册模版(默认模版为template/reg.htm),在验证码代码后面增加
<a href="javascript:" onclick= "document.getElementById(''imageField'').src+=''$webdb[www_url]/do/yzimg.php?''+Math.random()+'''';" >看不清,换一张</a>
(自己可根据页面效果调整改标记的css样式)
4.后台系统设置---全局参数设置----验证码复杂度设置 修改图片文字辨认复杂度:为复杂
齐博验证码美化教程完毕。