刚写了一个PHP的高效验证码函数

我不喜欢因为一个简单的验证码就大费周章,甚至连font字库文件都有,常常发现有的程序不过才两兆多点,而字库占去了至少1.5兆,唉!搞不懂那位是怎么想的,简直就是太有创意了
我不喜欢,所以自己写了一个简单而又漂亮的高效的.

//如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人 Seven{See7di#Gmail.com}

<?php
$work=AddsLashes($_REQUEST["work"]);
Switch ($work){
Case "cod":
_cod();
Break;
Default:
_main();
Break;
}
//------------------------------------------------*
Function _main(){
Session_start();
Echo "<img src='?work=cod' width='68' height='20' οnclick=\"this.src='?work=cod&'+Math.random(10)\" style='cursor:pointer;'>".$_SESSION['cod'];
}
//------------------------------------------------*
Function _cod(){
OB_start();
OB_clean();
For($i=0;$i<4;$i++){//dechex将10进制转为16进制
$num .= Dechex(Mt_Rand(1,15));
}

Session_start();$_SESSION['cod']=$num;

$img=Imagecreatetruecolor(60,20);//建立画布
$bgc=Imagecolorallocate($img,255,255,255);//创建图片背景颜色
Imagefill($img,0,0,$bgc);

For($i=0;$i<Mt_Rand(0,5);$i++){//添加随机线条
$linc=Imagecolorallocate($img,200,200,Mt_Rand(0,255));
Imageline($img,Mt_Rand(5,55),Mt_Rand(5,15),Mt_Rand(5,55),Mt_Rand(5,15),$linc);
}

For($i=0;$i<2;$i++){
$col=Imagecolorallocate($img,Mt_Rand(10,60),Mt_Rand(100,150),Mt_Rand(0,200));//字体颜色
Imagestring($img,6,(10+$i*9),(2+$i*2),($num[$i]."-".$num[($i+2)]),$col);//写入文字
}

Header('content-type:Image/png');
Imagepng($img);
Die();
}
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

www_7di_net

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值