php改验证码位置,php,_有谁帮忙把php的验证码代码修改一下。,php - phpStudy

有谁帮忙把php的验证码代码修改一下。

有谁帮忙把php的验证码代码修改一下。

验证码中的字和$_SESSION['code']中的值不一致!

谢谢了!

class Imagecode{

private $width ;

private $height;

private $counts;

private $distrubcode;

private $fonturl;

private $session;

function __construct($width = 120,$height = 30,$counts = 5,$distrubcode="1235467890qwertyuipkjhgfdaszxcvbnm",$fonturl="./TektonPro-BoldCond.otf"){

$this->width=$width;

$this->height=$height;

$this->counts=$counts;

$this->distrubcode=$distrubcode;

$this->fonturl=$fonturl;

$this->session=$this->sessioncode();

session_start();

$_SESSION['code']=$this->session;

}

function imageout(){

$im=$this->createimagesource();

$this->setbackgroundcolor($im);

$this->set_code($im);

$this->setdistrubecode($im);

ImageGIF($im);

ImageDestroy($im);

}

private function createimagesource(){

return imagecreate($this->width,$this->height);

}

private function setbackgroundcolor($im){

$bgcolor = ImageColorAllocate($im, rand(200,255),rand(200,255),rand(200,255));

imagefill($im,0,0,$bgcolor);

}

private function setdistrubecode($im){

$count_h=$this->height;

$cou=floor($count_h*2);

for($i=0;$i

$x=rand(0,$this->width);

$y=rand(0,$this->height);

$jiaodu=rand(0,360);

$fontsize=rand(8,15);

$fonturl=$this->fonturl;

$originalcode = $this->distrubcode;

$countdistrub = strlen($originalcode);

$dscode = $originalcode[rand(0,$countdistrub-1)];

$color = ImageColorAllocate($im, rand(40,140),rand(40,140),rand(40,140));

imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$dscode);

}

}

private function set_code($im){

$width=$this->width;

$counts=$this->counts;

$height=$this->height;

$scode=$this->session;

$y=floor($height/2)+floor($height/4);

$fontsize=rand(30,35);

$fonturl="./AdobeGothicStd-Bold.otf";

$counts=$this->counts;

for($i=0;$i

$char=$scode[$i];

$x=floor($width/$counts)*$i+8;

$jiaodu=rand(-20,30);

$color = ImageColorAllocate($im,rand(0,50),rand(50,100),rand(100,140));

imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$char);

}

}

private function sessioncode(){

$originalcode = $this->distrubcode;

$countdistrub = strlen($originalcode);

$_dscode = "";

$counts=$this->counts;

for($j=0;$j

$dscode = $originalcode[rand(0,$countdistrub-1)];

$_dscode.=$dscode;

}

return $_dscode;

}

}

Header("Content-type: image/GIF");

$imagecode=new Imagecode(160,50);

echo $imagecode->imageout();

?>

相关阅读:

ubuntu 限制出网速度

请问下面这个python3.5下的爬虫程序有什么错误,为什么运行正常 但是不爬取图片?

关于RunLoop处理的6类事件问题

当标签img要当背景的时候,img和backgrond-image如何选择?

vue 使用 es5的 filter 会提示 filter为定义

有什么社会分享插件是支持https的?

关于python-sdk 的使用

图片 浏览器是可以打开,但是html里面加载失败

data uri 算请求吗?

关于一个社区系统「侧边栏」的实现

swoole 的server.php全局变量数据只能放两个?

symfony与 laravel的区别是什么

面试题:句子中的单词顺序翻转,每个单词的字母顺序不变

Angular.js 和 JQuery 如何协同使用?

如何读出Hadoop SequenceFile里面的图片?

有哪些网页做在线小游戏的框架???

eclipse3.7.0Indigo用cdt大量语法错误,但又能成功编译

yii要配置出这样一个url,需要怎么定义路由规则?

python 爬取 js 网页

服务器端如何配置域名跳转问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值