php生成验证码详细教程
本文章提供一款php生成验证码详细教程,前面是讲关于生成验证核心代码,后面是一款生成与调用的方法,php生成验证码实例代码如下:
<?php //header("content-type:image/png"); $num = '1234'; $imagewidth = 60; $imageheight = 18; $numimage = imagecreate($imagewidth, $imageheight); imagecolorallocate($numimage, 240, 240, 240); for ($i = 0; $i < strlen($num); $i++) { $x = mt_rand(1, 8) + $imagewidth * $i / 4; $y = mt_rand(1, $imageheight / 4); $color = imagecolorallocate($numimage, mt_rand(0, 150) , mt_rand(0, 150) , mt_rand(0, 150)); imagestring($numimage, 5, $x, $y, $num[$i], $color); } for ($i = 0; $i < 200; $i++) { $randcolor = imagecolorallocate($numimage, rand(200, 255) , rand(200, 255) , rand(200, 255)); imagesetpixel($numimage, rand() % 70, rand() % 20, $randcolor); } imagepng($numimage); imagedestroy($numimage); ?>
来看一款生成验证码实例,代码如下:
<?php //生成验证码图片 session_start(); header("content-type: image/png"); srand((double)microtime() * 1000000); $roundnum = rand(1000, 9999); //把随机数存入session以便以后用 $_session["sessionround"] = $roundnum; $im = imagecreate(58, 28); $red = imagecolorallocate($im, 255, 0, 0); $blue = imagecolorallocate($im, 0, 255, 0); //局域填充,相当于背景
imagefill($im, 68, 30, $red);
//将四位整数验证码绘入图片
imagestring($im, 5, 10, 8, $roundnum, $blue);
for ($i = 0; $i < 50; $i++) //加入干扰象素
{
imagesetpixel($im, rand() % 70, rand() % 30, $black);
}
imagepng($im);
imagedestroy($im);
?>
html调用方法,代码如下:
<td>验证码</td><td width="20%"> <input name="validt" type="text" size="10" maxlength="4"/></td><td colspan="3" width="80%"> <img src="/www.phprm.com/validitpicture.php" name="validitpic" align="absmiddle" /></td>
本文地址:http://www.phprm.com/tuxiang/fs4455.html
转载随意,但请附上文章地址:-)