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

我在慕课网上看了用gd库做验证码,验证码但是做出来的验证码显示不出来,这是为什么?

我在慕课网上看了用gd库做验证码,验证码但是做出来的验证码显示不出来,这是为什么?

PHP
qq_独爱伤痕_03540461 2016-08-01 00:39:05
gd库是开启的,  在网上找了很多方法就是显示不出验证码,require_once 'string.func.php';//通过GD库做验证码function buildRandomString($type=1,$length=4){    if ($type == 1) {        $chars = join ( "", range ( 0, 9 ) );    } elseif ($type == 2) {        $chars = join ( "", array_merge ( range ( "a", "z" ), range ( "A", "Z" ) ) );    } elseif ($type == 3) {        $chars = 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 );}function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){    session_start();    //创建画布    $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 - 2, $height - 2, $white );    $chars = buildRandomString ( $type, $length );    $_SESSION [$sess_name] = $chars;    //$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF" );    $fontfiles = array ("SIMYOU.TTF" );    //由于字体文件比较大,就只保留一个字体,如果有需要的同学可以自己添加字体,字体在你的电脑中的fonts文件夹里有,直接运行输入fonts就能看到相应字体    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 = 1; $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 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );        }    }    header ( "content-type:image/gif" );    imagegif ( $image );    imagedestroy ( $image );}求答案。。。。。
查看完整描述

3 回答

?
柠檬酸钠

TA贡献331条经验 获得超534个赞

这类问题我已经回答了无数遍了……
你把设置header和输出图片只要注释掉啥都出来了

查看完整回答
2 反对 回复 2016-08-01
?
zhangyudemuke

TA贡献26条经验 获得超6个赞

什么是

gd库做验证码

查看完整回答
反对 回复 2016-08-01
  • 3 回答
  • 0 关注
  • 2014 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信