<?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">';?>
//启动会话,将产生的验证码保存到会话变量中
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">';?>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货