本文章提供一款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.bKjia.c0m/validitpicture.php" name="validitpic" align="absmiddle" /></td>