sundyandy
新手上路

UID 90145
精华
0
积分 13
帖子 9
金钱 13 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-3-26
状态 离线
|
一个验证码生成图片的问题
<?php //yanzhengma.php
session_start();
session_register("login_check_number");
$img_height=70; //先定义图片的长、宽
$img_width=25;
for($Tmpa=0;$Tmpa<4;$Tmpa++)
{
$nmsg.=dechex(rand(0,15));
}
$HTTP_SESSION_VARS[login_check_number] = $nmsg;
$aimg = imageCreate($img_height,$img_width); //生成图片
ImageColorAllocate($aimg, 255,255,255);
$black = ImageColorAllocate($aimg, 0,0,0);
ImageRectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//先成一黑色的矩形把图片包围
//下面生成雪花背景了
for ($i=1; $i<=100; $i++)
{
imageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
}
//加入数字和字母
for ($i=0;$i<strlen($HTTP_SESSION_VARS[login_check_number]);$i++)
{
imageString($aimg, mt_rand(3,5),$i*$img_height/4+mt_rand(1,10),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[login_check_number][$i],imageColorAllocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
}
Header("Content-type: image/jpeg");
imagejpeg($aimg);
imagedestroy($aimg);
?>
<img src="yanzhengma.php? align="absbottom">
上面代码生成4位图形验证码并显示出来
现在有几个问题:
1。
Header("Content-type: image/jpeg");
imagejpeg($aimg);
imagedestroy($aimg);
这已经说明生成JPG图片文件,为何生成后仍为BMP?
2。
上面问题在不要SESSION的情况下得到解决,为什么?
3。
是否可以保留SESSION的情况下生成JPG?
谢谢各位
|
|