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

按照老师打的,可是没有验证码的框,而且出现乱码

<?php

require_once'string.func.php';

//通过GD库做验证码

//创建画布

$width=80;

$height=28;

$image=imagecreatetruecolor($width,$height);

$white=imagecolorallocate($image,255,255,255);

$black=imagecolorallocate($image,0,0,0);

//用填充矩形填充画布

imagefilledrectangle($image,1,1,$width-x,$height-2,$white);

$type=1;

$length=4;

//赋值产生的验证码

$chars=buildRandomString($type,$length);

$_SESSION[$sess_name]=$chars;

$fontfiles= array ("simfang.ttf","simhei.ttf","simkai.ttf");

for ($i=0;$i<$length;$i++){

   //设置随机大小

   $size=mt_rand(14,18);

   //随机角度

   $angle=mt_rand(-15,15);

   $x=5+$i*$size;

   //随机的Y坐标

   $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);

}

header("content-type:image/gif");

imagegif($image);

imagedestroy($image);

?>


string.func.php

<?php

//产生随机的字符串

function buildRandomString($type=1,$length=4){

//$type=1;

//$length=4;

if($type==1){

   $char=join("",range(0,9));

}

else if($type==2){

   $char=join("",array_merge(range("a","z"),range("A","Z")));

}

elseif($type==3){

    $char=join("",array_merge(range("a","z"),range("A","Z"),range(0,9)));

}

if($length>strlen($chars)){

   exit("字符串长度不够");

}

$chars=str_shuffle($chars);//随机打乱字符串

return substr($chars,0,$length);//截取

}

?>


正在回答

2 回答

https://img1.sycdn.imooc.com//5b15f6d000019a0b05630297.jpg你这传入的参数都不一样

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

$fontfiles = array()的字体换下,注意在后面清下缓存 ob_clean(); 乱码看下编辑器字符是不是utf8

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

举报

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

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

进入课程

按照老师打的,可是没有验证码的框,而且出现乱码

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