怎么使用php实现验证码
这篇文章主要介绍怎么使用php实现验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器托管、等保安全、私有云建设等企业级互联网基础服务,咨询热线:18980820575
php实现验证码的方法:首先创建绘制验证码类,代码如“class Captcha {...}”;然后绘制图片页面;接着设置表单页面;最后创建好验证页面即可。
本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
PHP 实现验证码
绘制验证码类
width = $width;
$this->height = $height;
// 创建图像对象
$this->image = imagecreatetruecolor($width, $height);
// 创建验证码
$this->generateCaptchaCode();
}
public function __destruct() {
// 销毁图像对象
imagedestroy($this->image);
}
public function paint() {
// 绘制背景
$this->paintBackground();
// 绘制验证码
$this->paintText();
// 绘制干扰
$this->paintDirty();
}
public function output() {
// 设置头部为PNG图片
header('Content-Type: image/png');
// 输出到浏览器
imagepng($this->image);
}
public function code() {
return $this->code;
}
private function paintBackground() {
// 背景颜色设置为白色
$color = imagecolorallocate($this->image, 255, 255, 255);
// 填充背景
imagefill($this->image, 0, 0, $color);
}
private function paintText() {
// 遍历验证码,一个字符一个字符地绘制
for ($i = 0; $i < strlen($this->code); ++$i) {
$fontsize = 6;
$color = imagecolorallocate($this->image, rand(0,50), rand(0,50), rand(0,50));
$x = ($i * 100 / self::CODE_LENGTH) + rand(5, 10);
$y = rand(5, 10);
imagestring($this->image, $fontsize, $x, $y, $this->code[$i], $color);
}
}
private function paintDirty() {
// 绘制点
for ($i = 0; $i < self::DOT_COUNT; ++$i) {
// 点的颜色
$pointcolor = imagecolorallocate($this->image, rand(100,200), rand(100,200), rand(100,200));
// 画点
imagesetpixel($this->image, rand(1,99), rand(1,29), $pointcolor);
}
// 绘制线条
for ($i = 0; $i < self::LINE_COUNT; $i++) {
// 线的颜色
$linecolor = imagecolorallocate($this->image, rand(100,200), rand(100,200), rand(100,200));
// 画线
imageline($this->image, rand(1,$this->width-1), rand(1,29), rand(1,99), rand(1,29), $linecolor);
}
}
private function generateCaptchaCode() {
// 从备选字符串中随机选取字符
for ($i = 0; $i < self::CODE_LENGTH; ++$i) {
$len = strlen(self::$CANDIDATES);
$pos = rand(0, $len - 1);
$ch = self::$CANDIDATES[$pos];
$this->code .= $ch;
}
}
private $image = NULL; // 图像对象
private $code = ""; // 验证码
private $width = 0; // 图像长度
private $height = 0; // 图像宽度
}
?>绘制图片页面
code(); // 将验证码存入Session $captcha->paint(); // 绘制 $captcha->output(); // 输出 ?>
》
表单页面
提交页面
验证页面
验证页面
以上是“怎么使用php实现验证码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
新闻名称:怎么使用php实现验证码
分享链接:http://www.jxjierui.cn/article/ghiscp.html


咨询
建站咨询
