验证码显示空白框
跟着老师的写,代码没有报错,但是显示一个空白框,没有验证码生成啊?有遇到的没?
跟着老师的写,代码没有报错,但是显示一个空白框,没有验证码生成啊?有遇到的没?
2017-07-29
image.func.php
<?php /* * 通过GD库做验证码 * 创建画布 */ require_once "string.func.php"; function verifyImage($width=80,$height=30,$type=1,$length=4,$pixel=0,$arc=0,$line=0,$sess_name='verify'){ $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); $randCol=imagecolorallocate($image, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); $chars=buildRandomString($type,$length); $_SESSION[$sess_name]=$chars; $fontfiles=array("CAMPU_12.TTF","CountryBlueprint.ttf","Goffik-O.ttf","ParkAvenueBT.ttf","SIMYOU.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); $color=imagecolorallocate($image,mt_rand(50,90),mt_rand(80,200),mt_rand(90,180)); $fontfile='../fonts/'.$fontfiles[mt_rand(0,count($fontfiles)-1)]; $text=substr($chars,$i,1); imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text); } if($pixel){ for($i=0;$i<$pixel;$i++){ imagesetpixel($image, mt_rand(0,$width-2), mt_rand(0,$height-2), $randCol); } } if($arc){ for($i=0;$i<$arc;$i++){ imagearc($image, mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,360), mt_rand(0,360), $randCol); } } if($line){ for($i=0;$i<$line;$i++){ imageline($image, mt_rand(0,$width-2), mt_rand(0,$height-2), mt_rand(0,$width-2), mt_rand(0,$height-2), $randCol); } } header('content-type:image/gif'); imagegif($image); imagedestroy($image); } verifyImage(100,50,2,5,50,2); ?>
string.func.php
<?php function buildRandomString($type=3,$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); } ?>
由于不知道你的代码,所以不敢妄下定论,复制一下,我这个执行OK的
举报