Heim  >  Artikel  >  Backend-Entwicklung  >  PHP图像输出问题,

PHP图像输出问题,

WBOY
WBOYOriginal
2016-06-20 12:29:16834Durchsuche

代码如下,

//第一步 设置MIME类型,输出格式
header("Content-Type:image/png;");
for ($i=0;$i {
   $nmsg.=dechex(mt_rand(0,15));
}
echo  $nmsg;
//第二步 创建空白区域
    $im=imagecreatetruecolor(200,200);
    //第三步 创建imagecolorallocate为图像填充颜色
    $blue=imagecolorallocate($im,0,102,255);
    //第四步 将蓝色填充为背景
    imagefill($im,0,0,$blue);
//第五步 填充文字
$white=imagecolorallocate($im,255,255,255);
imagestring($im,5,80,80,$nmsg,$white);
//第六步 首先输出看一下效果
imagepng($im);
    //销毁,保持内存
    imagedestroy($im);
?>


回复讨论(解决方案)



错误是这样的

主要就是FOR循环那有问题,我输出一个验证码,把 $nmsg.=dechex(mt_rand(0,15));中的.去掉,它会显示一位验证码,加上就报错了

for循环之前声明$nmsg变量:

$nmsg = "";

/第一步 设置MIME类型,输出格式
header("Content-Type:image/png;");
$nmsg = '';
for ($i=0;$i{
   $nmsg.=dechex(mt_rand(0,15));
}
//echo  $nmsg;


这样就可以了。

<?php//第一步 设置MIME类型,输出格式$nmsg = '';header("Content-Type:image/png;");for ($i=0;$i<4;$i++){   $nmsg.=dechex(mt_rand(0,15));}//echo  $nmsg;//第二步 创建空白区域    $im=imagecreatetruecolor(200,200);    //第三步 创建imagecolorallocate为图像填充颜色    $blue=imagecolorallocate($im,0,102,255);    //第四步 将蓝色填充为背景    imagefill($im,0,0,$blue);//第五步 填充文字$white=imagecolorallocate($im,255,255,255);imagestring($im,5,80,80,$nmsg,$white);//第六步 首先输出看一下效果imagepng($im);    //销毁,保持内存    imagedestroy($im);?>

谢谢各位大神!

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