Home  >  Article  >  Backend Development  >  access2003 verification code PHP generates verification code with snowflake background

access2003 verification code PHP generates verification code with snowflake background

WBOY
WBOYOriginal
2016-07-29 08:38:571025browse

session_start();
session_register("login_check_number");
//I saw the verification code effect on chianren last night, so I thought about it and used PHP's GD library to complete a similar function
//First come Generate the background, and then put the generated verification code on it
$img_height=120; //First define the length and width of the image
$img_width=40;
if($HTTP_GET_VARS["act"]== "init"){
/ /srand(microtime() * 100000);//After PHP420, srand is not necessary
for($Tmpa=0;$Tmpa<4;$Tmpa++){
$nmsg.=dechex(rand(0,15)) ;
}//by sports98
$HTTP_SESSION_VARS[login_check_number] = $nmsg;
//$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999")); //Generate a 4-digit random number and put Enter the session
//Who can add something that can generate letters and numbers at the same time? ? ----Completed by sports98
$aimg = imageCreate($img_height,$img_width); //Generate the picture
ImageColorAllocate($aimg, 255,255,255); //The background color of the picture, the first time ImageColorAllocate defines the color, PHP will consider it The background color is
$black = ImageColorAllocate($aimg, 0,0,0); //Define the required black
ImageRectangle($aimg,0,0,$img_height-1,$img_width-1,$black);/ /First make a black rectangle to surround the picture
//Now it’s time to generate the snowflake background, which is actually to generate some symbols on the picture
for ($i=1; $i<=100; $i++) { //First use 100 Do a test
imageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255) ));
//Ha, you see, it’s not actually a snowflake, it’s just an * sign. In order to make them look "messy and colorful", you have to use random numbers for their position, color, and even size when generating them one by one. This can be done with rand() or mt_rand.
}
//The background is generated above, now it’s time to put the generated random numbers. The principle is similar to the above. Random numbers are placed one by one, and their positions, sizes, and colors are all random numbers~~
//In order to distinguish it from the background, the color here should not exceed 200, and the color above should not be less than 200
for ($i=0;$iimageString($aimg, mt_rand(3,5),$i*$img_height/4+mt_rand(1,10 ),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[login_check_number][$i],imageColorAllocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
}
Header(" Content-type: image/png"); //Tell the browser that the following data is an image, rather than displaying it as text
ImagePng($aimg); //Generate png format. . . Hehe, the effect is quite similar. . .
ImageDestroy($aimg);
}
?>

The above introduces the access2003 verification code. PHP generates a verification code with a snowflake background, including the access2003 verification code. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn