为什么无法输出一张图片

mxz159951 2014-02-14 05:32:46
	session_start();

//随机码的个数
//$_rnd_code = 4;

//创建随机码
for($i=0;$i<4;$i++){
$_nmsg.=dechex(mt_rand(0,15));
}

//保存session
$_SESSION['code']=$_nmsg;

//长和高
$_width = 75;
$_height = 25;

//创建一张图像
$_img = imagecreatetruecolor($_width,$_height);



//输出图像
header('Content-Type:image/png');
imagepng($_img);

输出结果为
...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一起混吧 2014-02-14
  • 打赏
  • 举报
回复
将header注释掉,打开错误就可以看到错误。
xuzuning 2014-02-14
  • 打赏
  • 举报
回复
<br />
<b>Notice</b>: Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _rnd_code in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: Division by zero in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Notice</b>: Undefined variable: _heght in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>: mt_rand(): max(0) is smaller than min(1) in <b>D:\AMP\web\ide_tmp.php</b> on line <b>53</b><br />
‰PNG
按错误信息修改
然后得:
仍然是不友好的“验证码”图片
mxz159951 2014-02-14
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
$_nmsg='';
for($i=0;$i<4;$i++){
$_nmsg.=dechex(mt_rand(0,15));
}
	session_start();

//随机码的个数
//$_rnd_code = 4;

$_nmsg=' ';
//创建随机码
for($i=0;$i<4;$i++){
$_nmsg.=dechex(mt_rand(0,15));
}

//保存session
$_SESSION['code']=$_nmsg;

//长和高
$_width = 75;
$_height = 25;

//创建一张图像
$_img = imagecreatetruecolor($_width,$_height);

//白色
$_white = imagecolorallocate($_img,255,255,255);

//填充
imagefill($_img,0,0,$_white);

$_flag = false;

if($_flag){
//黑色边框
$_black = imagecolorallocate($_img,0,0,0);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
}

//随机画出6个线条
for($i=0;$i<6;$i++){
$_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);

}

//随机雪花
for($i=0;$i<100;$i++){
$_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
}

//输出验证码
for($i=0;$i<strlen($_SESSION['code']);$i++){
$_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_heght/2),$_SESSION['code'][$i],$_rnd_color);
}


//输出图像
header('Content-Type:image/png');
imagepng($_img);

写完之后,还是显示
一起混吧 2014-02-14
  • 打赏
  • 举报
回复
$_nmsg=''; for($i=0;$i<4;$i++){ $_nmsg.=dechex(mt_rand(0,15)); }

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧