php登录个性验证码,PHP七种不同的个性创意验证码例子

20160419221740117.jpg.png

验证码图片html代码:

1.php

第一个图像验证码类,其他6种验证码类请下载查看:

class captcha{

/**

+----------------------------------------------------------

* 生成验证码

+----------------------------------------------------------

* @static

* @access public

+----------------------------------------------------------

* @param int $len  验证码字符数

* @param int $font_size  验证码字体大小

* @param string $name  session名称

* @param int $width  图片长度

* @param int $height  图片高度

+----------------------------------------------------------

* @return void

+----------------------------------------------------------

*/

static function generate($len=4,$font_size=48,$name='captcha',$width='',$height=''){

if($width=='') $width=($font_size+5)*($len+1);

if($height=='') $height=($font_size)*2;

$chars='bcdefhkmnrstuvwxyABCDEFGHKMNPRSTUVWXY345689';

$str='';

for($i=0;$i

$str .= substr($chars,mt_rand(0,strlen($chars)-1),1);

}

$_SESSION[$name]=$str;//写入session

for($num=0;$num<10;$num++){

ob_start();

$image=imagecreatetruecolor($width,$height);//创建图片

$bg_color=imagecolorallocate($image,255,255,255);//设置背景颜色

$border_color=imagecolorallocate($image,100,100,100);//设置边框颜色

$text_color=imagecolorallocate($image,0,0,0);//设置验证码颜色

imagefilledrectangle($image,0,0,$width-1,$height-1,$bg_color);//填充图片背景色

imagerectangle($image,0,0,$width-1,$height-1,$border_color);//填充图片边框颜色

for($i=0;$i<5;$i++){

$line_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰线颜色

imageline($image,rand(0,$width),0,$width,$height,$line_color);//画一条线段

}

for($i=0;$i<500;$i++){

$dot_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰点颜色

imagesetpixel($image,rand()%$width,rand()%$height,$dot_color);//画一个像素点

}

for($i=0;$i

imagettftext($image,$font_size,rand(-3,3),$font_size/2+($font_size+5)*$i,$height/1.25-rand(2,3),$text_color,'Groupsex.ttf',$str[$i]);//用规定字体向图像写入文本

}

imagegif($image);

imagedestroy($image);

$imagedata[] = ob_get_contents();

ob_clean();

}

require('GIFEncoder.class.php');

$gif = new GIFEncoder($imagedata);

ob_clean();//防止出现'图像因其本身有错无法显示'的问题

header('Content-type:image/gif');

echo $gif->GetAnimation();

}

}

//调用示例

session_start();

captcha::generate(6,48);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值