There are a lot of PHP random number and verification code codes and articles on the Internet, but few are really applicable.
Just make one yourself.
Let’s start this section of the PHP tutorial. The implementation of the following code is mainly to distinguish one get_code() and the other create_check_image(). The output image directly calls the latter one. When session() takes the verification code, directly get_code () is ok. By the way, when using session, you must put session_star() at the front.
class RandCheckCode
{
/*函数名称:get_code()
*作用:取得随机字符串
* 参数:
1、(int)$length = 32 #随机字符长度
2、(int)$mode = 0 #随机字符类型,
0为大小写英文和数字,1为数字,2为小写字母,3为大写字母,
4为大小写字母,5为大写字母和数字,6为小写字母和数字
*返回:取得的字符串
*/
function get_code($length=32,$mode=0)//获取随机验证码函数
{
switch ($mode)
{
case '1':
$str='123456789';
break;
case '2':
$str='abcdefghijklmnopqrstuvwxyz';
break;
case '3':
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4':
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5':
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6':
$str='abcdefghijklmnopqrstuvwxyz1234567890';
break;
default:
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
$checkstr='';
$len=strlen($str)-1;
for ($i=0;$ i<$length;$i++)
and(0 ,$len);//Generate a random number between 0 and $len
return $checkstr;
}
/**Function name: create_check_image()
Function: Generate a check code image
Parameters: $checkcode: Verification code string
Return value: Return the image
*/
function create_check_image($checkcode)//Generate a
{
$im=imagecreate(65,22);//Generate An image
$black=imagecolorallocate($im,0,0,0);//Background color
$white=imagecolorallocate($im,255,255,255);//Foreground color
$gray=image colorallocate( $im,200,200,200);
imagefill($im,30,30,$gray);//Perform area filling with $gray color at coordinates 30,30 of the $im image (the upper left corner of the image is 0,0) (That is, points with the same color as 30 and 30 points and adjacent points will be filled) The string $checkcode is drawn to the 8,3 coordinate of the image represented by $im (this is the coordinate of the upper left corner of the string, the upper left corner of the entire image is 0,0), 5 is the font size, and the font can only be 1,2 ,3,4 or 5, use the built-in font
for ($i=0;$i<120;$i++)
{
55),rand( 0,255),rand(0,255));
imagesetpixel($im,rand()%70,rand()%30,$randcolor);//Use $randcolor color on $im image in (rand() %70,rand()%30) Draw a point
on the coordinates (the upper left corner of the image is 0,0) }
header("Content-type:image/png");
imagepng($im ); // Outputs the image to the browser or file
ImageDestroy ($ IM); // Destroy the image $ im
}
}
/*
$randcode=new RandCheckCode();
$checkstring=$randcode->get_code(5,7);
$image=$randcode->create_check_image($checkstring) ;
echo $image;
*/
?>