用PHP生成简单的验证码
相对于ASP生成验证码的程序来说,PHP用GD库生成验证码是容易的多了,下面是一个简单的生成验证码的程序。
header("Content-type: image/png");
$im = @imagecreate(50, 20) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 225, 225, 225);
$text_color = imagecolorallocate($im, 51, 51, 51);
$rand_num = rand(1000,9999);
session_start();
$_SESSION["rand_num"] = $rand_num;
imagestring($im, 5, 7, 3, $rand_num, $text_color);
for($i=1;$i<500;$i++){
$rand_color = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $rand_color);
}
imagepng($im);
imagedestroy($im);
$im = @imagecreate(50, 20) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 225, 225, 225);
$text_color = imagecolorallocate($im, 51, 51, 51);
$rand_num = rand(1000,9999);
session_start();
$_SESSION["rand_num"] = $rand_num;
imagestring($im, 5, 7, 3, $rand_num, $text_color);
for($i=1;$i<500;$i++){
$rand_color = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $rand_color);
}
imagepng($im);
imagedestroy($im);
生成验证码之后,我们还得验证验证码是否是正确的,所以我顺便写了一个验证的函数:
function check_num($num){
if ($_SESSION["rand_num"] == $num){
unset($_SESSION["rand_num"]);
return true;
} else {
return false;
}
}
if ($_SESSION["rand_num"] == $num){
unset($_SESSION["rand_num"]);
return true;
} else {
return false;
}
}
上面这两段程序是最简单的关于验证码的程序,大家可以根据自己的需求来完善即可。
【本站遵守CC协议,转载本站文章请注明原文地址和原作者,谢谢】




