Heim  >  Artikel  >  Backend-Entwicklung  >  为什么无法输出一张图片

为什么无法输出一张图片

WBOY
WBOYOriginal
2016-06-23 14:28:191094Durchsuche

	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);

输出结果为


回复讨论(解决方案)

$_nmsg='';
for($i=0;$i     $_nmsg.=dechex(mt_rand(0,15));
}

$_nmsg='';
for($i=0;$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);

写完之后,还是显示

<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
按错误信息修改
然后得:
仍然是不友好的“验证码”图片

将header注释掉,打开错误就可以看到错误。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn