为了账号安全,请及时绑定邮箱和手机立即绑定

验证码不显示

验证码显示不出来,只显示一个框。找不出什么原因,求助,谢谢各位

<?php
require_once 'string.func.php';
//通过GD库做验证码
//创建画布
function verifyImage( $type=1,$length=4,$pixel=0, $line=0,$sess_name="verify"){
   session_start();
   $width=80;
   $height=30;
   $image=imagecreate($width, $height);
   $white=imagecolorallocate($image, 255, 255, 255);
   $black=imagecolorallocate($image, 0, 0, 0);
   //用填充矩形填充画布
   imagefilledrectangle($image, 1, 1, $width-2, $height-2, $white);

   //写验证码
   $chars=buildRandomString($type,$length);

   $_SESSION[$sess_name]=$chars;
   $fontfiles=array(FZSTK.TTF,MSYH.TTC,MSYHBD.TTC,MSYHL.TTC,SIMKAI.TTF,SIMLI.TTF,SIMSUN.TTC);
   for($i=0;$i<$length;$i++){
       $size=mt_rand(14,18);
       $angle=mt_rand(-15,15);
       $x=5+$i*$size;
       $y=mt_rand(20,26);
       $fontfile="../fonts/".$fontfiles[mt_rand(0,count($fontfiles)-1)];
       $color=imagecolorallocate($image, mt_rand(50,90), mt_rand(80,200), mt_rand(90,180));
       $text=substr($chars,$i,1);
       imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);
   }
   //干扰因素
   if($pixel){
       for($i=0;$i<50;$i++){
           imagesetpixel($image, mt_rand(0,$width-1), mt_rand(0,$height-1), $black);
       }
   }
   if($line){
       for($i=0;$i<$line;$i++){
           $color=imagecolorallocate($image,  mt_rand(50,90), mt_rand(80,200), mt_rand(90,180));
           imageline($image, mt_rand(0,$width-1), mt_rand(0,$height-1), $color);
       }
   }

   header("content-type:image/gif");
   imagegif($image);
   imagedestroy($image);
}
verifyImage(2,5,30,5);

正在回答

2 回答

用ob_clean()清楚缓存解决了问题

0 回复 有任何疑惑可以回复我~

我是自己做了一个验证码,?后面的就做不出来了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117285    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

验证码不显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信