PHP验证码之数字运算验证码

本文详细介绍了如何使用PHP创建验证码,包括图像生成、颜色、数字和符号的随机组合,以及如何通过HTTP头和imagepng函数将验证码输出为PNG格式。此外,还解释了如何在网页中使用自定义函数来生成和验证验证码。
摘要由CSDN通过智能技术生成
<?php
getValidate(100,30);

function getValidate($w,$h){
	$img = imagecreate($w,$h);

	$gray = imagecolorallocate($img,255,255,255);
	$black = imagecolorallocate($img,rand(0,200),rand(0,200),rand(0,200));
	$red = imagecolorallocate($img, 255, 0, 0);
	$white = imagecolorallocate($img, 255, 255, 255);
	$green = imagecolorallocate($img, 0, 255, 0);
	$blue = imagecolorallocate($img, 0, 0, 255);
	imagefilledrectangle($img, 0, 0, 100, 30, $black);


	for($i = 0;$i < 80;$i++){
		imagesetpixel($img, rand(0,$w), rand(0,$h), $gray);
	}


	$num1 = rand(1,99);
	$num2 = rand(1,99);

	imagestring($img, 5, 5, rand(1,10), $num1, $red);
	imagestring($img,5,30,rand(1,10),getRand(), $white);
	imagestring($img,5,45,rand(1,10),$num2, $green);
	imagestring($img,5,65,rand(1,10),"=", $blue);
	imagestring($img,5,80,rand(1,10),"?", $red);
	

	header("content-type:image/png");
	imagepng($img);
	imagedestroy($img);
}
function getRand(){
	$code = rand(0,1);
	switch ($code) {
		case 0:
			return "+";
			break;
		case 1:
			return "-";
			break;
		default:
			# code...
			break;
	}
}

?>
钟志远  江苏南京 904727147
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值