黑色背景中间白框,没有显示验证码,弄了一天了,求解救
<?php /** * Created by PhpStorm. * User: a117 * Date: 2018/10/14 * Time: 5:45 PM */ require_once 'string.func.php'; //创建画布,GD库做验证码 $width=80; $height=30; $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; //字体数组 $fontfile=array("Avenir.ttc","Helvetica.ttc","Kohinoor.ttc"); //产生验证码 for ($i=9;$i<$length;$i++){ $size=mt_rand(14,18); $angle=mt_rand(-15,15); $x=5+$i*$size; $y=mt_rand(20,26); $fontfile="../fonts/".$fontfile[mt_rand(0,count($fontfile)-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 /** * Created by PhpStorm. * User: a117 * Date: 2018/10/14 * Time: 5:46 PM */ 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); }
GD库应该开了