驗證碼不顯示
驗證碼顯示不出來,只顯示一個框。找不出什么原因,求助,謝謝各位
<?php
require_once 'string.func.php';
//通過GD庫做驗證碼
//創建畫布
function verifyImage( $type=1,$length=4,$pixel=0, $line=0,$sess_name="verify"){
? ?session_start();
? ?$width=80;
? ?$height=30;
? ?$image=imagecreate($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(FZSTK.TTF,MSYH.TTC,MSYHBD.TTC,MSYHL.TTC,SIMKAI.TTF,SIMLI.TTF,SIMSUN.TTC);
? ?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=0;$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), $color);
? ? ? ?}
? ?}
? ?header("content-type:image/gif");
? ?imagegif($image);
? ?imagedestroy($image);
}
verifyImage(2,5,30,5);
2018-02-24
用ob_clean()清楚緩存解決了問題
2018-02-21
我是自己做了一個驗證碼,?后面的就做不出來了