问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php的验证码代码

发布网友 发布时间:2022-09-02 14:33

我来回答

1个回答

热心网友 时间:2023-10-12 18:43

<?php
/**
* 类说明:
* 使用时,可按自己的需要设置输出图片的宽度和高度,以及要产生的验证码个数和干扰部分;
* 使用时,只需要将validate实例化,然后调用show_image()可生即可生成验证码。
* 获取验证码的方法是在其它页面 首先开户session_start(),然后直接使用$_SESSION['code']即可;
* 注意,大多数新手可能会遇到一个问题,就是$_SESSION['code']的值总是要慢一拍,用户在输入验证码点提交后,
* session的值才会被刷新,这样使用不会有错,如果直接用JS去获取得取到的是上次的产生的.
* 最后:该类由游天小虾制作,您可以不保留此信息,可任意传播,如果您对本类有什么提意,
* 可发关邮件到:yiuked@vip.qq.com
* 或者加入我们的网页制作交流群(聚义堂) 69574955
* **/
class validate {
private $width = '80';//验证码的宽度
private $height = '20';//验证码的高度
private $randcode = '';//验证码, 无需赋值,后面会随机生成
private $num = '4';//验证码的字数
private $interferon = '80';//干扰素数量
private $line ='2';//线条干扰条数
private $im = '';//无需赋值,图片自动生成/**
* 输入网页类型
* */
private function conten_type(){
header("Content_type:image/gif");
}
/***
*打开session
* **/
private function session_star(){
session_start();
}/**
* 产生随机数
* **/
private function random(){
$this->randcode = strtoupper(substr(md5(rand()),0,$this->num));
return $this->randcode;
}
/**
* 置障session的值
* **/
private function resession(){
$_SESSION['code'] = $this->randcode;
}
/**
* 产生验证图片
***/
private function create_image(){
$this->im = imagecreate($this->width,$this->height);
imagecolorallocate ($this->im, rand(50,60), rand(150,200),rand(230,250));
return $this->im;
} /**
* 产生干扰素
* **/
private function create_interferon(){
for($i=0;$i<$this->interferon;$i++){
$infcolor = imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($this->im,rand(0,80),rand(0,20),$infcolor);
} } /**
* 产生干扰线条
* **/
private function create_line(){
for($j=0;$j<$this->line;$j++){
$lineColor = imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255));
imageline($this->im,rand(0,80),rand(0,20),rand(0,80),rand(0,20),$lineColor);
}
} /**
* 写入字符
* **/
private function read_text(){
for($i=0;$i<$this->num;$i++){
$textColor = imagecolorallocate($this->im,rand(0,100),rand(0,100),rand(0,100));
$x = rand(($this->width/$this->num*$i),($this->width/$this->num)*($i+1)-10);
$y = rand(2,$this->height-13);
imagechar($this->im,rand(4,5),$x,$y,$this->randcode[$i],$textColor);
} } /**
* 输出验证码图片
* **/
public function show_image(){
$this->session_star();
$this->conten_type();
$this->random();
$this->resession();
$this->create_image();
$this->create_interferon();
$this->create_line();
$this->read_text();
imagepng($this->im);
imagedestroy($this->im);
}} $va = new validate(); $va->show_image();
?>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 车主没驾驶证可以办行驶证吗 买车办手续时候一定要有驾驶证吗 页岩和大理岩是较软的吗? 如何判断页岩类型,硬度有什么差异 页岩松软吗? 在超黑洞两极有物质喷出,那些物质超过光速了么 黑洞为什么在两极会发射物质 有吸积盘的黑洞会在磁场的作用下会产生两极喷流,而M87中心黑洞为什么只有一面有喷流? 史密斯水床垫如何维护 黑洞的两极喷射出来的是什么? 黑洞两极的喷流是从黑洞内部喷发的吗? 徐某家忘养了一条狗曾经咬伤过人,徐某为了避免狗再咬伤,把狗拴在院中大树下,一天邻居何某到徐某家里串 司法机关这样做是否有侵犯公民的合法权益 农民工友工资被拖欠 咋维权? 注意两点…… 东莞女房东带租客看房被杀,事情的原委是怎么样的? 一起刑事案件,故意伤害致死,想请懂的人帮忙分析下。 何某绑架案 东莞市女房东带租客看房被杀,这到底是为何? 邦是什么意思 邦的繁体字 thinkphp(登录)下面是表单验证的代码,不知道为什么只要验证码正确,用户名随便写一个,都会出登录成功 我自己用PHP代码制作了一个网页。在登录那里我想用一个填写验证后才能登录。请问代码怎么写。谢谢。 挂式空调的工作原理是什么?.?? 空调挂机和柜机的工作原理一样吗? 对对子!!月夜一帘幽梦,春风十里飘香!! 深圳体育策划公司? 河南康博体育赛事策划有限公司怎么样? 准备买车了 沃尔沃S60 1.6T DRIVe 双离合 舒适版 和奔驰C180 1.6机械增压 ,,希望各位能在油耗、保养、配 财政政策和货币政策的工具 脂肪填充法令纹多少钱 不小心注销了里面的钱怎么办 注销了,医院退费怎么办 在地球上,人间体变身为奥特曼战士都有哪些方式? 西红柿炒鸡蛋的英文怎么说 食补旁还有组成什么字 才不要和老板谈恋爱演员表 《才不要和老板谈恋爱》剧组杀青,这部剧由哪些知名演员参演? 才不要和老板谈恋爱什么时候拍的 练习生和老板的恋爱是哪部韩剧 有什么字是带饮食旁的