php验证码怎么写,php写的一个验证码

php写的一个验证码:实现上下左右随即浮动,字符+数字,随机干扰线等。

供初学者参考吧。

复制代码 代码如下:

session_start();

$image = imagecreatetruecolor(58,22);

$color_Background = imagecolorallocate($image,255,255,255);

imagefill($image,0,0,$color_Background);

$key = array(

‘0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,

‘a’,'b’,'c’,'d’,'e’,'f’,'g’,'h’,'i’,'j’,'k’,'l’,'m’,'n’,'o’,'p’,'q’,'r’,’s’,'t’,'u’,'v’,'w’,'x’,'y’,'z’,

‘A’,'B’,'C’,'D’,'E’,'F’,'G’,'H’,'I’,'J’,'K’,'L’,'M’,'N’,'O’,'P’,'Q’,'R’,'S’,'T’,'U’,'V’,'W’,'X’,'Y’,'Z’);

$string = null;

$char_X = 6;

$char_Y = 0;

for($i=0;$i<4;$i++)

{

$char_Y = mt_rand(0,5);

$char = $key[mt_rand(0,61)];

$string .= $char;

$color_Char = imagecolorallocate($image,mt_rand(0,230),mt_rand(0,230),mt_rand(0,230));

imagechar($image,5,$char_X,$char_Y,$char,$color_Char);

$char_X = $char_X + mt_rand(8,15);

}

$line_X1 = 0;

$line_Y1 = 0;

$line_X2 = 0;

$line_Y2 = 0;

for($i=0;$i

{

$line_X1 = mt_rand(0,58);

$line_Y1 = mt_rand(0,22);

$line_X2 = mt_rand(0,58);

$line_Y2 = mt_rand(0,22);

$line_X1 = $line_X1;

$line_Y1 = $line_Y1;

$line_X2 = $line_X1 + mt_rand(1,8);

$line_Y2 = $line_Y1 + mt_rand(1,8);

$color_Line = imagecolorallocate($image,mt_rand(0,230),mt_rand(0,230),mt_rand(0,230));

imageline($image,$line_X1,$line_Y1,$line_X2,$line_Y2,$color_Line);

}

$_SESSION['seccode'] = $string;

@header(“Expires: -1″);

@header(“Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0″, FALSE);

@header(“Pragma: no-cache”);

header(‘Content-Type: image/jpeg’);

imagepng($image);

imagedestroy($image);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值