<?php
//启动会话,将产生的验证码保存到会话变量中
session_start();//mt_srand((double)microtime()*1000000);
$mode = mt_rand(1,6);
$_SESSION["yanzheng"] =getrandom(5,$mode);//取得验证码!
//初始化变量function getrandom ($length,$mode)

switch ($mode)

case '1': 
$str = '1234567890'; 
break; 
case '2': 
$str = 'abcdefghijklmnopqrstuvwxyz';
break;
case '3': 
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4': 
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5': 
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6': 
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
break;
default: 
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; 
break; 

$result = ''; 
$l = strlen($str);
for($i = 0;$i < $length;$i++)
{
$num = rand(0, $l-1); 
$result .= $str[$num]; 

return $result;
}
Header("Content-type: image/PNG");
$im=imagecreate(60,20);//制定图片背景大小
$black = ImageColorAllocate($im, 0,0,0); //设定三种颜色
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200); 
imagefill($im,0,0,$gray); //填充背景色//采用区域填充法,设定(0,0)// 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。
//如果 font 是 1,2,3,4 或 5,则使用内置字体
imagestring($im, 5, 10, 3, $_SESSION["yanzheng"], $black);//将四位整数验证码绘入图片 for($i=0;$i<50;$i++) //加入干扰象素 原值200

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
} imagepng($im); 
imagedestroy($im);?>
<?php echo '<img src="include/yzm.php">';?>