PHP编写验证码时,在线代码编辑器能够显示,放在本地网站上就乱码了?
phpcn_u53259
phpcn_u53259 2017-11-06 13:50:30
0
9
1173

<?php

  

   check_code();

   

  //随机生成验证码的字符或数字

   function check_code($width=100, $height=50,$num=4, $type='jpeg')

   {

       $i=imagecreate($width,$height);

       $string='';

       for($j=0;$j<$num;$j++)

       {

           $rand=mt_rand(0,2);

           switch($rand)

           {

              case 0:

               $ascii=mt_rand(48,57);

               break;

            case 1:

               $ascii=mt_rand(65,90);

               break;

            case 2:

               $ascii=mt_rand(97,122);

               break; 

           }

       $string.=sprintf('%c' ,$ascii);//ascii字符解码

       }

   

//生成验证码背景颜色(randbg():函数调用)

   

imagefilledrectangle($i,0,0,$width,$height,randbg($i));


//生成随机干扰(randpix():函数调用)


for($j=0;$j<50;$j++)

{

  imagesetpixel($i,mt_rand(0,$width),mt_rand(0,$height) ,randpix($i));

}


//写字

for($j=0;$j<$num;$j++)

{

    $x=floor($width/$num)*$j+2;

    $y=mt_rand(3,$height-15);

    

    imagechar($i,5,$x,$y,$string[$j],randpix($i));

}


//图片格式


    $fuc='image'.$type;

    $have='cotent-type:image'.$type;

    if(function_exists($fuc))

    {

        header($have);

        $fuc($i);

    }

    else

    {

        echo '不支持图片类型';

    }

    imagedestroy($i);

    return $string;

}

  

//背景颜色函数功能模块  

   function randbg($i)

   {

       return imagecolorallocate($i,mt_rand(135,255) ,mt_rand(135,255),mt_rand(135,255));

       

   }

//干扰元素或字符颜色函数功能模块  

   function randpix($i)

   {

       return imagecolorallocate($i,mt_rand(0,135) ,mt_rand(0,135),mt_rand(0,135));

       

   }   

?>


phpcn_u53259
phpcn_u53259

全部回复(2)
路过

嗯嗯


路过

贴出报错信息啊,谁有功夫看你代码???

  • 回复 就是乱码了,什么报错都没有。应该是//图片格式//出错了。
    phpcn_u53259 作者 2017-11-07 17:38:05
  • 回复 早就试过了,一样乱码
    phpcn_u53259 作者 2017-11-08 09:42:13
  • 回复 文件名?这里面没有写文件名进去的语句야
    phpcn_u53259 作者 2017-11-08 10:29:07
  • 回复 好的,谢谢~
    phpcn_u53259 作者 2017-11-08 14:05:56
  • 回复 哦,你加个header头声明utf-8 试试吧
    路过 作者 2017-11-08 08:19:59
  • 回复 看看你的文件名是不是错了
    路过 作者 2017-11-08 10:21:41
  • 回复 你代码有问题
    路过 作者 2017-11-08 13:45:45
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!