php创建图片显示乱码,是咋回事?
php代码<?phpsession_start();//随机码个数$_rnd_code=4;//创建随机码for($i=0;$i<$_rnd_code;$i++){$_n...
php代码
<?php
session_start();//随机码个数$_rnd_code=4;//创建随机码for($i=0;$i<$_rnd_code;$i++){ $_nmsg.=dechex(mt_rand(0,15));}//保存在session里 $_SESSION['code']= $_nmsg; echo $_SESSION['code']; //长和高 $_width=75; $_height=25; //创建一张图片 $_img=imagecreatetruecolor($_width,$_height); //白色 $_white=imagecolorallocate($_img,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); } //随机画出六条线条 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,$_height/2),$_SESSION['code'],$_rnd_color); } //输出图片 header("Content-Type:image/png"); imagepng($_img); //销毁 imagedestroy($_img);
?> 展开
<?php
session_start();//随机码个数$_rnd_code=4;//创建随机码for($i=0;$i<$_rnd_code;$i++){ $_nmsg.=dechex(mt_rand(0,15));}//保存在session里 $_SESSION['code']= $_nmsg; echo $_SESSION['code']; //长和高 $_width=75; $_height=25; //创建一张图片 $_img=imagecreatetruecolor($_width,$_height); //白色 $_white=imagecolorallocate($_img,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); } //随机画出六条线条 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,$_height/2),$_SESSION['code'],$_rnd_color); } //输出图片 header("Content-Type:image/png"); imagepng($_img); //销毁 imagedestroy($_img);
?> 展开
2015-04-20
展开全部
乱码是正常的,因为图片是字节流,无法在网页上直接显示,你需要把图片嵌入到img标签内显示,例:<img src="http://localhost/image.php" />
另外,你的截图上面两行报错了,根据错误提示修改你的程序,否则即便你把图片地址放到img标签内也无法正常显示
另外,你的截图上面两行报错了,根据错误提示修改你的程序,否则即便你把图片地址放到img标签内也无法正常显示
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询