老師,代碼都沒錯,但是SESSION無法接受chars的值,真心搞不懂這個了,求教
/**
?*?生成驗證碼
?*?@param?int?$type
?*?@param?int?$length
?*?@return?string
?*/
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庫做驗證碼
function?verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name?=?"verify"){
//創建畫布
session_start();
$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?);
$chars?=?buildRandomString?(?$type,?$length?);
$_SESSION[$sess_name]?=?$chars;
//$fontfiles?=?array?("MSYH.TTF",?"MSYHBD.TTF",?"SIMLI.TTF",?"SIMSUN.TTC",?"SIMYOU.TTF",?"STZHONGS.TTF"?);
$fontfiles?=?array?("SIMYOU.TTF"?);
//由于字體文件比較大,就只保留一個字體,如果有需要的同學可以自己添加字體,字體在你的電腦中的fonts文件夾里有,直接運行輸入fonts就能看到相應字體
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?=?1;?$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?),?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$color?);
}
}
header?(?"content-type:image/gif"?);
imagegif?(?$image?);
imagedestroy?(?$image?);
}
varifyImage();
$varify=$_SESSION['varify'];
在接受$_SESSION['varify']值時沒有內容;?