我的php验证码出现这样的问题:
Image corrupt or truncated: http://localhost/htsys/?c=login&m=yzm
无论我怎么调试始终无法正常显示验证码图片,提示图像由于自身原因无法显示......
纠结了
Image corrupt or truncated: http://localhost/htsys/?c=login&m=yzm
无论我怎么调试始终无法正常显示验证码图片,提示图像由于自身原因无法显示......
纠结了
调试欢乐多
public function yzm(){ //登录页面验证码的方法
header("content-type:image/png");
$num = $_GET['num'];
$imagewidth=50;
$imageheight=20;
$numimage = imagecreate($imagewidth,$imageheight);
imagecolorallocate($numimage,238,97,85);
for($i=0;$i<strlen($num);$i++){
$x = mt_rand(1,8)+$imagewidth*$i/4;
$y = mt_rand(1,$imageheight/4);
$color=imagecolorallocate($numimage,mt_rand(0,90),mt_rand(0,80),mt_rand(0,120));
imagestring($numimage,5,$x,$y,$num[$i],$color);
} for($i=0;$i<200;$i++){
$randcolor=imagecolorallocate($numimage,rand(200,255),rand(180,255),rand(240,255));
imagesetpixel($numimage,rand()%70,rand()%20,$randcolor);
}
imagepng($numimage);
imagedestroy($numimage);
}
我从路径上面得到一个num的随机字符串然后让yzm函数获取生成,就这么简单,真的不知道为什么,才开始还好好的,
public function yzm(){
header("content-type:image/png");
$num = $_GET['num'];
$imagewidth=50;
$imageheight=20;
$numimage = imagecreate($imagewidth,$imageheight);
imagecolorallocate($numimage,238,97,85);
for($i=0;$i<strlen($num);$i++){
$x = mt_rand(1,8)+$imagewidth*$i/4;
$y = mt_rand(1,$imageheight/4);
$color=imagecolorallocate($numimage,mt_rand(0,90),mt_rand(0,80),mt_rand(0,120));
imagestring($numimage,5,$x,$y,$num[$i],$color);
} for($i=0;$i<200;$i++){
$randcolor=imagecolorallocate($numimage,rand(200,255),rand(180,255),rand(240,255));
imagesetpixel($numimage,rand()%70,rand()%20,$randcolor);
}
imagepng($numimage);
imagedestroy($numimage);
}