验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。广州网站制作将通过实例讲解使用PHP生成常见的验证码:
先给看下大致的效果图:
?
那么接下来的就直接贴代码吧:
<?php
$image = imagecreatetruecolor(100, 30); //创建画布
$imagecolor = imagecolorallocate($image, 255, 255, 255); //背景色
imagefill($image, 0, 0, $imagecolor); //填充背景色
for($i=0;$i<4;$i++ ){ //循环4位数
$fontsize = 6;
$fontcolor = imagecolorallocate($image, rand(0, 200), rand(0, 200), rand(0, 200));
$fontcontent = rand(0, 9);
$x = $i*100/4 + rand(5, 15);
$y = rand(5, 10);
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
for($i=0;$i<200;$i++ ){ //循环 添加干扰点
$pointcolor = imagecolorallocate($image, rand(50, 200), rand(50, 200), rand(50, 200));
$x = rand(1, 99);
$y = rand(1, 29);
imagesetpixel($image, $x, $y, $pointcolor);
}
for($i=0;$i<3;$i++){ //循环 添加干扰线
$linecolor = imagecolorallocate($image, rand(100, 250), rand(100, 250), rand(100, 250));
$x1 = rand(1, 25);
$x2 = rand(50, 75);
$y1 = rand(1, 15);
$y2 = rand(15, 25);
imageline($image, $x1, $y1, $x2, $y2, $linecolor);
}
header("content-type:image/png");
imagepng($image);
imagedestroy($image);
?>