一个好用的验证码PHP工具类
发布时间:2020-05-25 07:16:54 所属栏目:PHP 来源:互联网
导读:一个好用的验证码PHP工具类
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。
<?php
/**
* 验证码类
*/
class Base_Tool_Verify{
/**
* 生成验证码方法
*/
public static function createCode(){
//生成验证码图片
// 全数字
$str = "D,B,2,3,4,5,6,7,8,9,A,C,D,E,F,G,H,W,J,K,M,N,P,Q,R,S,T,U,V,X,Y,Z"; //要显示的字符,可自己进行增删
$list = explode(",",$str);
$cmax = count($list) - 1;
$verifyCode = '';
for ( $i=0; $i < 4; $i++ ){
$randnum = mt_rand(0,$cmax);
$verifyCode .= $list[$randnum]; //取出字符,组合成为我们要的验证码字符
}
$_SESSION['code'] = $verifyCode; //将字符放入SESSION中
$im = imagecreate(80,28); //生成图片
$black = imagecolorallocate($im,0); //此条及以下三条为设置的颜色
$white = imagecolorallocate($im,244,249,244);
$gray = imagecolorallocate($im,rand(200,255),255));
$red = imagecolorallocate($im,255));
$rand_color = imagecolorallocate($im,rand(0,255));
$rand_color2 = imagecolorallocate($im,255));
imagefill($im,$white); //给图片填充颜色
$pix=imagecolorallocate($im,255));
mt_srand();
for($i=0;$i<100;$i++)
{
imagesetpixel($im,mt_rand(0,180),35),$pix);
}
imageline($im,28),80,$rand_color);
imageline($im,$rand_color2);
//将验证码绘入图片
$mycolor = imagecolorallocate($im,78,152);
$path = API_PATH.DS.'Base'.DS.'Tool';
putenv('GDFONTPATH=' . $path);
$font = 'simhei.ttf';
$arrstr = str_split($verifyCode);
imagettftext($im,20,50),10,rand(20,30),$mycolor,$font,$arrstr[0]);
imagettftext($im,15,$arrstr[1]);
imagettftext($im,30,$arrstr[2]);
imagettftext($im,40,$arrstr[3]);
$font2=imagecolorallocate($im,41,163,238);
imagerectangle($im,1,$font2);
imagepng($im);
imagedestroy($im);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
