<?php
require?'string.func.php';
function?verifyImage($type?=?1,?$length?=?4,?$sess_name?=?"verify")?{
//?創建畫布
//?通過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?);
$chars?=?buildRandomString?(?$type,?$length?);
$_SESSION?[$sess_name]?=?$chars;
$fontfiles?=?array?(
"MSYH.TTC",
"MSYHBD.TTC",
"SIMKAI.TTF",
"SIMLI.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?)];
$color?=?imagecolorallocate?(?$image,?mt_rand?(?50,?90?),?mt_rand?(?80,?200?),?mt_rand?(?100,?150?)?);
$text?=?substr?(?$chars,?$i,?1?);
imagettftext?(?$image,?$size,?$angle,?$x,?$y,?$color,?$fontfile,?$text?);
}
for($i?=?0;?$i?<?50;?$i++)?{
imagesetpixel?(?$image,?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$black?);
}
header?(?"content-type:image/gif"?);
imagegif?(?$image?);
imagedestroy?(?$image?);
}
?>
--?以上代碼能正常顯示驗證碼,但在getverify.php調用verifyImage()的函數的時候就顯示不出來。
<?php
require_once?'../include.php';
verifyImage();
?>
請問是怎么回事呢?
還有就是verifyImage()函數如果完全按照老師的加直線,就會出現錯誤,顯示不出驗證碼。
2014-11-25
你設置下PHP配置文件中output_buffering=4096,接著在查看下當前頁面是否有輸出
應該就沒有問題了
^-^...
2016-08-09
我的也沒有這個函數,我用的是5.1.6版本的