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

为什么我下面的代码值显示验证码的框子,不显示验证码的数字呢,求老师帮助,已经弄了很久了,没解决。就是下面那个框子,我看了一下

<?php

//GD lib

require_once 'string.func.php';

$width=80;

$height=20;

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

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

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

//fill

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("MSYH.TIF","MSYHBD.TTF","SIMLI.TTF","SIMSUM.TTC","SIMYOU.TTF","STZHONGS.TTF");

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

$text=substr($chars,$i,1);

$color=imagecolorallocate($image, mt_rand(50, 90),mt_rand(80, 200),mt_rand(90,180));

imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);

}

ob_clean();

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

imagegif($image);

imagedestroy($image);

下面是我测试了一下,那个回调函数也没有问题

/*$type=1;

$length=4;

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

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

$text=substr($chars,$i,1);

}

echo $text;*/

正在回答

3 回答

之前我的问题是和一梦河海的一样,用了它提供的方法后问题解决了,但是干扰线和点却没有显示why?

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

嗯 好的 解决了就好 很有成就感吧

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

终于解决了,原来是font路径的问题,下面是我用绝对路径的一个例子

$font='D:/xampp/htdocs/shopImooc/shopImooc/fonts/'.$fontfiles[mt_rand(0, count($fontfiles)-1)];

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

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信