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

<?php
//如果对代码不理解请看我上一篇的详细解答。
//数字验证码:http://my.oschina.net/u/2391943/blog/485163
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;
}
}
?>

钟志远  江苏南京  钟志远

转载于:https://my.oschina.net/passer007/blog/485190

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值