Heim  >  Artikel  >  Backend-Entwicklung  >  请教各位测试这段代码的结果是什么

请教各位测试这段代码的结果是什么

WBOY
WBOYOriginal
2016-06-13 13:16:20851Durchsuche

请问各位测试这段代码的结果是什么?




无标题文档



  Header("Content-type: image/PNG"); 
   
  srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用
   
  $im = imagecreate(62,20); //制定图片背景大小
  $black = ImageColorAllocate($im, 0,0,0); //设定三种颜色
  $white = ImageColorAllocate($im, 255,255,255); 
  $gray = ImageColorAllocate($im, 200,200,200); 
  imagefill($im,0,0,$gray); //采用区域填充法,设定(0,0)
  while(($authnum=rand()%100000)   //将四位整数验证码绘入图片 
  $_SESSION['yzm']=$authnum; //把验证码注册到session变量
   
  imagestring($im, 5, 10, 3, $authnum, $black);
  // 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。
  //如果 font 是 1,2,3,4 或 5,则使用内置字体
  for($i=0;$i   { 
  $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
  } 
   
  ImagePNG($im); 
  ImageDestroy($im); 
?> 





我的结果是提示下载PNG文件,然后打开之后提示图像已损坏!!!
怎么回事啊?





------解决方案--------------------
斩头去尾,只留下
PHP code
<?php Header("Content-type: image/PNG");  
    
  srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用
    
  $im = imagecreate(62,20); //制定图片背景大小
  $black = ImageColorAllocate($im, 0,0,0); //设定三种颜色
  $white = ImageColorAllocate($im, 255,255,255);  
  $gray = ImageColorAllocate($im, 200,200,200);  
  imagefill($im,0,0,$gray); //采用区域填充法,设定(0,0)
  while(($authnum=rand()%100000)<10000);
  //将四位整数验证码绘入图片  
  $_SESSION['yzm']=$authnum; //把验证码注册到session变量
    
  imagestring($im, 5, 10, 3, $authnum, $black);
  // 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。
  //如果 font 是 1,2,3,4 或 5,则使用内置字体
  for($i=0;$i<200;$i++) //加入干扰象素  
  {  
  $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);  
  }  
    
  ImagePNG($im);  
  ImageDestroy($im); <div class="clear">
                 
              
              
        
            
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