<?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 );
$length=4;
$type=1;
$chars = buildRandomString ( $type, $length );
$sess_name="verify";
$_SESSION[$sess_name]=$chars;
$fontfile=array("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/".$fontfile[mt_rand(0,count($fontfile)-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 );
}
header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");
ob_clean();
header("Content-type: image/png;charset=utf8");
imagegif($image);
imagedestroy($image);
<?php
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);
}
?>