<?php
session_start();
//图片类型
$type = 'gif';
//图片的尺寸
$width= 40;
$height= 16;
header("Content-type: image/".$type);
srand((double)microtime()*1000000);
//生成字符的个数
$randval = randStr(4,"");
if($type!='gif' && function_exists('imagecreatetruecolor')){
$im = @imagecreatetruecolor($width,$height);
}else{
$im = @imagecreate($width,$height);
}
//色彩设置
$r = Array(225,211,255,223);
$g = Array(225,236,237,215);
$b = Array(225,236,166,125);
$key = rand(0,3);
$backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]); //背景色(随机)
$borderColor = ImageColorAllocate($im, 0, 0, 0); //边框色
$pointColor = ImageColorAllocate($im, 255, 170, 255); //点颜色
@imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);//背景位置
@imagerectangle($im, 0, 0, $width-1, $height-1, $borderColor); //边框位置
$stringColor = ImageColorAllocate($im, 255,51,153);
for($i=0;$i<=100;$i++){
$pointX = rand(2,$width-2);
$pointY = rand(2,$height-2);
@imagesetpixel($im, $pointX, $pointY, $pointColor);
}
@imagestring($im, 3, 5, 1, $randval, $stringColor);
$ImageFun='Image'.$type;
$ImageFun($im);
@ImageDestroy($im);
//将显示在图片中的文字保存在$_SESSION中
$_SESSION['security_code'] = $randval;
//产生随机字符串
function randStr($len=6,$format='ALL') {
switch($format) {
case 'ALL':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
case 'CHAR':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case 'NUMBER':
$chars='0123456789';
break;
default :
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
}
$string="";
//从字符源中随机取得字符
while(strlen($string)<$len) {
$string.=substr($chars,(mt_rand()%strlen($chars)),1);
}
return $string;
}
/*<img src="验证码.php">
*<input id="security_code" name="secuity_code" type="text">
*
*session_start();
*if(($_SESSION['security_code'] == $_POST['security_code']) && *(!empty($_SESSION['security_code'])) )
*{
echo "验证码输入正确";
//验证后的代码.
*}
*else
*{
* echo "验证码输入错误";
* //其它处理
*}
*
*
*
*
*****/
?>