生成验证码图片的PHP代码
原创 52cxy 11-27 12:09 阅读数:1249

生成验证码图片,支持数字、大小写字母

/**
 * 生成验证码图片
 * @param $width - 验证码图片宽
 * @param $height - 验证码图片高
 */
function generateThumbnail($width=80, $height=35)
{
	$captcha = '';
	for($i = 0;$i < 4;$i++){
		switch(mt_rand(0,2)){
			case 0: //数字
				$captcha .= chr(mt_rand(49,57));
				break;
			case 1:    //大写字母
				$captcha .= chr(mt_rand(65,90));
				break;
			case 2: //小写字母
				$captcha .= chr(mt_rand(97,122));
				break;
		}
	}
	
	$imgData = imagecreatetruecolor(80, 35);
	
	//随便生成验证码背景颜色
	$bgData = imagecolorallocate($imgData, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
	
	//填充背景色
	imagefill($imgData, 0, 0, $bgData);
	
	//在背景中写入验证码字符
	for($i = 0;$i < 4;$i++){
		//生成文字颜色
		$txt = imagecolorallocate($imgData, mt_rand(50,150), mt_rand(50,150), mt_rand(50,150));
	
		//写入文字
		imagestring($imgData, mt_rand(1,5),5 + $i*20, 10, $captcha[$i], $txt);
	}

	header('Content-type:image/png');
	imagepng($imgData);
	
	imagedestroy($imgData);
}


共0条评论
我要评论