我都好长时间没有看验证码了:今天让我和大家再好好一起回顾回顾:
以下就是输出随机的四位的数字或者是字母
<?php
$im = imagecreatetruecolor(80,23);//创建画布
$bgcolor = imagecolorallocate($im,220,230,230);//调制背景色
$bordercolor = imagecolorallocate($im,0,0,255);//调制边框颜色
$tcolor = imagecolorallocate($im,255,0,0);
$green = imagecolorallocate($im,0,255,0);
imagefill($im,10,10,$bgcolor);//填充背景色
imagerectangle($im,1,1,79,22,$bordercolor);//绘制边框
for($i = 0;$i < 4; $i++){
$num_case = rand(0,2);//产生随机数0-2,根据数值的不同决定产生的是数字|小写|大写
switch($num_case){
case 0:$num = rand(48,57);break;//数字
case 1:$num = rand(65,90);break;//大写
default:$num = rand(97,122);//小写
}
$text[$i] = sprintf("%c",$num);//将随机产生的ASCII码转换为相应的字符
imagettftext($im,rand(10,20),rand(0,30),15*$i+5,20,$tcolor,"STLITI.TTF",$text[$i]);//显示字符
}
for($i=0;$i<100;$i++){
imagesetpixel($im,rand(1,79),rand(1,22),$green);
}
session_start();
$_SESSION["ckcode"]=implode($text);
header("Content-type:image/png");//设置输出类型
imagepng($im);//输出图像
imagedestroy($im);
?>
对了 验证码的输出还需要一种字体 这种字体可以到window上找到
具体步骤如下:1、控制面板
2、外观
3、字体