|
我想做一个图片验证码,思路是在模型中建立一个图片验证生成类,或者做一个函数。
但我先在控制器里生成,做做试验:
function register(){ $str='123456789ABCDEFGHIJKLMNOPQRSLUVWXYZabcdefghijklmnopqrstuvwxyz';
$str_len=strlen($str);
$checknum="";
for($i=1;$i<=4;$i++){
$checknum.=$str[rand(0,$str_len)];
}
if(strlen($checknum)==3){
$checknum.=$str[rand(0,$str_len)];
}
$im=imagecreatetruecolor(100,30);
$black = ImageColorAllocate($im, 0,0,0); //设定三种颜色
$white = ImageColorAllocate($im, 255,255,255);
$randcolor = ImageColorAllocate($im, rand(71,12),rand(106,62),rand(208,604));
//$bg=imagecolorallocate($im,255,0,0);
$te=imagecolorallocate($im,255,255,255);
imagefill($im,0,0,$randcolor);
imagestring($im,rand(4,6),rand(1,70),rand(1,10),$checknum,$te);
header("Content-type: image/png");
imagejpeg($im);
}
我发现输出的是乱码,并且提示Message: Cannot modify header information - headers already sent by。。。。
去掉 header("Content-type: image/png");显示的依旧是乱码。
在论坛的源码共享里面有朋友做的验证类,我拿来测试也依旧提示那个错,并显示乱码。
不知道哪位朋友能指点一下!在下感激不尽。 |
|