為什么我下面的代碼值顯示驗證碼的框子,不顯示驗證碼的數(shù)字呢,求老師幫助,已經(jīng)弄了很久了,沒解決。就是下面那個框子,我看了一下
<?php
//GD lib
require_once 'string.func.php';
$width=80;
$height=20;
$image=imagecreatetruecolor($width,$height);
$white=imagecolorallocate($image, 255, 255, 255);
$black=imagecolorallocate($image, 0, 0, 0);
//fill
imagefilledrectangle($image, 1,1, $width-2, $height-2, $white);
$type=1;
$length=4;
$chars=buildRandomString($type,$length);
$sess_name='verify';
$_SESSION[$sess_name]=$chars;
$fontfiles=array("MSYH.TIF","MSYHBD.TTF","SIMLI.TTF","SIMSUM.TTC","SIMYOU.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)];
$text=substr($chars,$i,1);
$color=imagecolorallocate($image, mt_rand(50, 90),mt_rand(80, 200),mt_rand(90,180));
imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);
}
ob_clean();
header("content-type:image/gif");
imagegif($image);
imagedestroy($image);
下面是我測試了一下,那個回調(diào)函數(shù)也沒有問題
/*$type=1;
$length=4;
$chars=buildRandomString($type,$length);
for ($i=0;$i<$length;$i++){
$text=substr($chars,$i,1);
}
echo $text;*/
2015-05-02
之前我的問題是和一夢河海的一樣,用了它提供的方法后問題解決了,但是干擾線和點卻沒有顯示why?
2014-08-14
嗯 好的 解決了就好 很有成就感吧
2014-08-14
終于解決了,原來是font路徑的問題,下面是我用絕對路徑的一個例子
$font='D:/xampp/htdocs/shopImooc/shopImooc/fonts/'.$fontfiles[mt_rand(0, count($fontfiles)-1)];