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
转载随意,但请附上文章地址:-)