参考了一些验证码生成方法,下面按个人的想法做了些修改,方便以后使用。
效果图:
<?php
class authCode
{
/**
* 生成验证码图片
*
* @param int $i_width 宽度,默认为100
* @param int $i_height 高度,默认为25
* @param int $i_length 长度,默认为4
* @param int $i_flag 显示类型 1 : 字符和数字(默认)
* 2 : 纯数字
* 3 : 纯字符
* @return resource
*/
public static function display($i_width=100, $i_height=25, $i_length=4, $i_flag=1)
{
// 可能显示的字符
$string[1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$string[2] = "012345678901234567890123456789012345";
$string[3] = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ";
$str = Array();
for($i = 0;$i < $i_length;$i++){
$str[$i] = $string[$i_flag][rand(0,35)];
$authcode .= $str[$i];
}
// 将验证码存入session
if ( !$_SESSION ) @session_start();
$_SESSION["stat_authcode"] = $authcode ;
// 生成图片句柄
$im = imagecreatetruecolor($i_width,$i_height);
$white = imagecolorallocate($im,255,255,255); //第一次调用设置背景色
$black = imagecolorallocate($im,0,0,0); //边框颜色
imagefilledrectangle($im,0,0,$i_width,$i_height,$white); //画一矩形填充
imagerectangle($im,0,0,$i_width-1,$i_height-1,$black); //画一矩形框
// 生成雪花背景
for($i = 1;$i < 200;$i++){
$x = mt_rand(1,$i_width-9);
$y = mt_rand(1,$i_height-9);
$color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagechar($im,1,$x,$y,"*",$color);
}
// 将验证码写入图案
for($i = 0;$i < count($str);$i++){
$x = 13 + $i * ($i_width - 15)/$i_length;
$y = mt_rand(3, $i_height / 3);
$color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225));
imagechar($im,5,$x,$y, $str[$i],$color);
}
// 输出图片
header("Content-type:image/jpeg");
imagejpeg($im);
imagedestroy($im);
}
}
// 调用类的静态方法
authCode::display(100, 30, 6, 3);
- 大小: 4.8 KB
分享到:
相关推荐
验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类
验证码生成类大全
php验证码生成类
分享一个php验证码生成类代码,通过该方法向浏览器输出图像,创建图像背景,设置干扰元素,向图像中随机画出文本,输出图像。
一个php高安全验证码生成类程序,本生成程序需要调用一些字体库,你可以调用你系统自带的一些字体,当然也可以像dedecms一样自己把字体放到一个目录,这样在服务器上也可以使用。
asp.net验证码生成类asp.net验证码生成类asp.net验证码生成类
NULL 博文链接:https://aimilin6688.iteye.com/blog/1256328
WinForm中验证码生成类可以生成随机数和图片对初学者有很大的用处
一个php验证码生成类代码,通过该方法向浏览器输出图像,创建图像背景,设置干扰元素,向图像中随机画出文本,输出图像。
简单轻巧的验证码生成工具类。
.NET验证码生成类 源代码 ,自己写的,界面基于winform,但是实际上类也是可以用在web上的
生成验证码图片 java类中获得验证码的方法: session.getAttribute("checkcode"); jsp页面中显示图片的方式: ${pageContext.request.contextPath}/checkcode.jsp"/> 另外在web.xml中配置验证码类的加载: ...
生成验证码并生成验证图片,支持汉字、数字+字母两种模式,验证码生成不重复,有源码,注释完整,适合做项目时选用
图片验证码的生成类 使用于asp.net core 版本的项目中
本次和大家分享的是一个集成1:小写拼音 2:大写拼音 3:数字 4:汉字的验证码生成类,从标题来看感觉很普通的样子,没错的确很普通,只是这个验证码类生成的时候可以通过参数指定验证码返回格式的规则,更主要的是...