<?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 = 28; $image = imagecreatetruecolor ( $width, $height ); $white = imageco
老師:這代碼在我電腦上打不出驗證碼,不知是原因在那里,我是個新,不懂語言。
<?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 = 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 );
}
這代碼能在我電腦上打出驗證碼,登陸不了,顯示驗證碼錯。
<?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=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);
$sess_name="varify";
$_SESSION[$sess_name]=$chars;
$fontfiles=array("MSYH.TTF","MSYHBD.TTF","SIMHEI.TTF","SIMKAI.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)];
? ? $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);
}
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 );
}
2015-01-18
你需要把你用到的字體庫文件放進來才行,我只傳了一個字體文件
^-^...
2015-01-18
這段代碼敲上去打得出驗證碼
<?php
require_once 'string.func.php';
//通過GD庫做驗證碼
//創建畫布
$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);
$type=1;
$length=4;
$chars=buildRandomString($type,$length);
$sess_name="varify";
$_SESSION[$sess_name]=$chars;
$fontfiles=array("MSYH.TTF","MSYHBD.TTF","SIMHEI.TTF","SIMKAI.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)];
? ? $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);
}
header("content-type:image/gif");
imagegif($image);
imagedestroy($image);
2015-01-18
老師:請老師指點,我是個初學者。
2015-01-18
本地和遠程都用了
2015-01-18