/**
* @todo checkcode
* @param $codeType 纯数字/纯字母/字母+数字;默认/letter/mix
* @param $codeLenth 验证码位数 默认4位
* @param $codeName session存储名字
* @param $imgWidth 验证码图片宽度
* @param $imgHeight 验证码图片高度
* @return image/png
* @example
* ImageCode('mix');
*/
function ImageCode($codeType=null, $codeLenth=4, $codeName='verifyCode', $imgWidth=100, $imgHeight=30){
session_start();
header ("Content-type: image/png");
$nums = '1234567890';
$letters = 'abcdefghijklmnopqrstuvwxyz';
switch ($codeType){
case 'mix':
$codenumber = $nums.$letters;
break;
case 'letter':
$codenumber = $letters;
break;
default:
$codenumber = $nums;
break;
}
$code = substr(str_shuffle($codenumber), 0, $codeLenth);
$_SESSION[$codeName] = md5($code);
$checkImage = @imagecreate($imgWidth, $imgHeight);
imagecolorallocate ($checkImage, 240, 240, 240);
for ($i=0;$i<=128;$i++)
{
$mDisturbColor = imagecolorallocate ($checkImage, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($checkImage, rand(2,98), rand(2,28), $mDisturbColor);
}
$bg_color = imagecolorallocate ($checkImage, rand(0,255), rand(0,128), rand(0,255));
$x = rand(0,$imgWidth-35);
$y = rand(0,$imgHeight-15);
imagestring($checkImage, 8, $x, $y, $code, $bg_color);
imagepng($checkImage);
imagedestroy($checkImage);
}
简易验证码仅供参考。
简易的验证码方法
最新推荐文章于 2024-02-25 18:40:16 发布