php实现验证码比较简单,下面介绍不是验证码的具体实现方法,而是抛砖引玉的说明。
下面是怎么才能在php中生成一张自定义的图片。
首先必须在页面的body里加上一个img标签
<img width="61" height="31" src=“drawImg.php”/>
下面为drawImg.php代码
<?php
Header("Content-type:image/PNG");
$authnum = "1234";
$width = 62;
$height = 31;
$im = imagecreate($width,$height);
$strRGB = imagecolorallocate($im, 215, 57,12);
$white = imagecolorallocate($im, 255,255,255);
$gray = imagecolorallocate($im, 200,200,200);
imagefill($im, 0, 0, $white);
imagerectangle($im, 0, 0, $width-1, $height-1, $gray);
imagestring($im, 5, 8, 8, $authnum, $strRGB);
for($i=0; $i<50; $i++)
{
$randcolor = ImageColorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($im, rand()%80, rand()%30,$randcolor);
}
ImagePNG($im);
ImageDestroy($im);
?>
其实就是画了一张图片。
至于验证码的后续处理,如验证码存放在session中,验证码刷新,验证码验证在这都不再介绍。
对于php画图的几个函数使用说明可以看这里PHP: GD 和图像处理 函数 - Manual