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);
- } //开源代码phpfensi.com
- 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);
- }//开源代码phpfensi.com
- 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.phpfensi.com/validitpicture.php" name="validitpic" align="absmiddle" /></td>