/**
* 验证码
* @return [type] [description]
*/
public function actionCode(){
$session = yii::$app->session; //开启session
header("Content-type:image/png");//生成验证码图片
$str = "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";//要显示的字符,可自己进行增删
$list = explode(",",$str); //分隔成一维数组
$cmax = count($list)-1;
$verifyCode = '';
$verifyCodelength = 4; //设置验证码长度
for($i=0;$i<$verifyCodelength;$i++ ){
$randnum = mt_rand(0,$cmax);
$verifyCode .= $list[$randnum]; //取出字符,组合成为我们要的验证码字符
}
$session['code'] = md5($verifyCode); //将字符放入SESSION中
$im = imagecreate(50,17); //生成图片
$black = imagecolorallocate($im, 0,0,90); //此条及以下三条为设置的颜色
$white = imagecolorallocate($im, 80,255,180);
$gray = imagecolorallocate($im, 200,200,160);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$white); //给图片填充颜色
imagestring($im,5,7,0, $verifyCode, $black); //将验证码绘入图片
for($i=0;$i<50;$i++){ //加入干扰象素
imagesetpixel($im,rand(0,50),rand(0,17),$black); //加入点状干扰素
imagesetpixel($im,rand(0,50),rand(0,17),$gray);
//imageline($im,rand(),rand(),rand(),rand(),$red); //加入线条状干扰素
}
for($i=0;$i<2;$i++){
imagearc($im,rand(0,50),rand(0,17),50,17, 75, 170, $black); //加入弧线状干扰素
}
imagepng($im); //将图片指接送到浏览器端
imagedestroy($im); //释放与image关联的内存
}
* 验证码
* @return [type] [description]
*/
public function actionCode(){
$session = yii::$app->session; //开启session
header("Content-type:image/png");//生成验证码图片
$str = "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";//要显示的字符,可自己进行增删
$list = explode(",",$str); //分隔成一维数组
$cmax = count($list)-1;
$verifyCode = '';
$verifyCodelength = 4; //设置验证码长度
for($i=0;$i<$verifyCodelength;$i++ ){
$randnum = mt_rand(0,$cmax);
$verifyCode .= $list[$randnum]; //取出字符,组合成为我们要的验证码字符
}
$session['code'] = md5($verifyCode); //将字符放入SESSION中
$im = imagecreate(50,17); //生成图片
$black = imagecolorallocate($im, 0,0,90); //此条及以下三条为设置的颜色
$white = imagecolorallocate($im, 80,255,180);
$gray = imagecolorallocate($im, 200,200,160);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$white); //给图片填充颜色
imagestring($im,5,7,0, $verifyCode, $black); //将验证码绘入图片
for($i=0;$i<50;$i++){ //加入干扰象素
imagesetpixel($im,rand(0,50),rand(0,17),$black); //加入点状干扰素
imagesetpixel($im,rand(0,50),rand(0,17),$gray);
//imageline($im,rand(),rand(),rand(),rand(),$red); //加入线条状干扰素
}
for($i=0;$i<2;$i++){
imagearc($im,rand(0,50),rand(0,17),50,17, 75, 170, $black); //加入弧线状干扰素
}
imagepng($im); //将图片指接送到浏览器端
imagedestroy($im); //释放与image关联的内存
}