|
<?php
//随机生成验证码
class randomString{
function createRandomStr($strLen){
list($usec, $sec) = explode(' ', microtime());
(float) $sec + ((float) $usec * 100000);
$number = '';
$number_len = $strLen;
$stuff = '1234567890';//附加码显示范围ABCDEFGHIJKLMNOPQRSTUVWXYZ
$stuff_len = strlen($stuff) - 1;
for ($i = 0; $i < $number_len; $i++) {
$number .= substr($stuff, mt_rand(0, $stuff_len), 1);
}
return $number;
}
}
//通过ZD库将验证码变成图片
$createStr = new randomString();
$number = $createStr->createRandomStr('4');//验证码的位数
$number_len = strlen($number);
$_SESSION["VERIFY_CODE"] = $number;//session保存验证码
// 生成验证码图片
$img_width = 60;//图片宽度
$img_height = 20;//图片高度
$img = imageCreate($img_width, $img_height);
ImageColorAllocate($img, 0, 0, 0);//背景色
$white = ImageColorAllocate($img, 255, 255, 255);//文字颜色
$ix = 6;
$iy = 2;
for ($i = 0; $i < $number_len; $i++) {
imageString($img, 5, $ix, $iy, $number[$i], $white);
$ix += 14;
}
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($img,255,255,255);//干扰颜色
imagesetpixel($img, rand()%100 , rand()%50 , $randcolor);
}
// 输出图片
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
imagedestroy($img);
?>
|
|
|