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

php验证码显示图片框,不显示字母,帮忙看下怎么回事!

php验证码显示图片框,不显示字母,帮忙看下怎么回事!

PHP
慕丝3969787 2014-10-01 17:06:22
<?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 - 2, $height - 2, $white );     $type=1;     $length=4;     $chars = buildRandomString ( $type, $length );     $sess_name="verify";     $_SESSION [$sess_name] = $chars;     $fontfiles = array ("SIMYOU.TTF");       //由于字体文件比较大,就只保留一个字体,如果有需要的同学可以自己添加字体,字体在你的电脑中的fonts文件夹里有,直接运行输入fonts就能看到相应字体     for($i = 9; $i < $length; $i ++) {     echo "123";         $size = mt_rand ( 14, 18 );         $angle = mt_rand ( - 15, 15 );         $x = 5 + $i * $size;         $y = mt_rand ( 20, 26 );         $fontfile = "../fonts/" . $fontfiles [0];         $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 );
查看完整描述

4 回答

?
坐对流年

TA贡献3条经验 获得超1个赞

这个应该不是image.func.php的问题,去瞅瞅string.php文件有木有问题吧。或者是字体木有加载。。。。

查看完整回答
1 反对 回复 2014-10-01
?
椰子林

TA贡献1条经验 获得超0个赞

第34行的$i=0,不是9。

查看完整回答
反对 回复 2016-08-25
?
李FL

TA贡献1条经验 获得超0个赞

        我也遇到过相似的问题,可能是本机上的环境将报错提示全部打开,这样在输出时有系统的未定义提示信息也跟着一起输出了,这样生成的图片就可能显示不正常,可以考虑在开头加上  ini_set('display_errors', 'Off');   来屏蔽报错提示,试一试行不行。

查看完整回答
反对 回复 2016-08-17
?
绿豆露水

TA贡献2条经验 获得超0个赞

查看字体文件的路径。我也是同样的问题,改了字体文件加载的路径后,能正确显示了。

改前:$fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];

改后:$fontfile = "fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];


查看完整回答
反对 回复 2016-06-24
  • 4 回答
  • 0 关注
  • 5432 浏览

添加回答

举报

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