Home  >  Article  >  Backend Development  >  PHP图像输出问题,

PHP图像输出问题,

WBOY
WBOYOriginal
2016-06-20 12:29:16835browse

代码如下,

//第一步 设置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);?>

谢谢各位大神!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn