一个生成随机字符串和验证代码的类的PHP实例。
互联网上有很多PHP随机数和验证码和文章,很少有真正适用的。问问自己做一个。
开始这段PHP教程,主要实现了以下代码,可以很好的区分(get_code),另一个(create_check_image),在输出图像中直接调用会话()验证码直接get_code(OK),除了使用会话时(session_star)必须在前面。
代码如下:
复制代码代码如下所示:
< PHP
类randcheckcode
{
函数名:get_code(*)
*效果:获取随机字符串
*参数:
1、(int)长度= 32美元#随机字符长度
2、(int)模式= 0美元#随机字符类型,
0是英文和数字大小,1为数字,小写为2,大写为3。
4是字母和字母,5是大写字母和数字,6是小写字母和数字。
*返回:得到的字符串
* /
功能get_code(长度= 32美元,$模式= 0) / /获取随机验证码功能
{
开关($模式)
{
例1:
$str = '123456789;
打破;
例2:
$str = 'abcdefghijklmnopqrstuvwxyz;
打破;
例3:
$str = 'abcdefghijklmnopqrstuvwxyz;
打破;
例4:
$str = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz;
打破;
例5‘:
$str = 'abcdefghijklmnopqrstuvwxyz1234567890;
打破;
例6:
$str = 'abcdefghijklmnopqrstuvwxyz1234567890;
打破;
违约:
$str = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890;
打破;
}
checkstr美元=;
$ len = strlen(str)- 1;
($ i = 0;$ i < $长度;$ + +)
{
0美元到0美元。
Num = mt_rand美元(0,$ len); / /创建一个0美元的镜头之间的随机数
checkstr美元。= str { $民};
}
返回的checkstr;
}
函数名:(create_check_image) / * *
功能:产生支票码的图片。
参数:$码:校验码字符串
返回值:返回图片
* /
功能create_check_image($码) / /
{
$我=画面欣赏(65,22); / /创建一个图片
黑imagecolorallocate美元($ IM,0,0,0); / /背景色
白色= imagecolorallocate美元(合我,255255255); / /前景色
灰色= imagecolorallocate美元(合我,200200200);
imagefill($ IM,30,30,$灰色); / / $我30,30(在图像的左上角的图像坐标0,0)为灰色(颜色执行区域填充为30,30颜色和相邻点同样将填充)
imagestring(合我,5,8,3美元美元,码,白色); / /美元8.3白色坐标图像来表示字符串码$我(这是一个字符串的左上角坐标图像的左上角是0,0),5是字体的大小,字体只有1、2、3、4或5,使用内置的字体
($ i = 0;$ i < 120;$ + +)
{
randcolor美元= imagecolorallocate($ IM,兰德(0255)、(0255)、兰特兰特(0255));
imagesetpixel(合我,伦德(70),伦德(30美元),randcolor); / /美元美元randcolor彩色图像(RAND)在(70,伦德)(30)(图像的左上角坐标0,0)画一点
}
页眉(内容类型:图像);
imagepng(为我); / /输出图像的PNG格式的浏览器或文件
销毁一图像($ IM); / /图像为我毁灭
}
}
*
randcode美元=新RandCheckCode();
$号铃索= randcode美元-> get_code(5,7);
美元randcode -> create_check_image图像= $($号铃索);
回波图像;
* /
>