非常实用的php验证码类
本文实例为大家分享了php验证码类,供大家参考,具体内容如下
width=$width; $this->height=$height; $this->codeNum=$codeNum; $this->checkCode=$this->CreateCheckCode(); $number=floor($width*$height/25); if ($number>240-$codeNum) { $this->disturbColorNum=240-$codeNum; }else{ $this->disturbColorNum=$number; } } public function showImage($fontpath='') { //创建图像背景 $this->Img_resouce(); //var_dump($img_resouce); //设置干扰元素 $this->setDistructcolor(); //向图像中随机画出文本 $this->outputtext($fontpath); //输出图像 $this->outputimage(); } /** * *获取随机创建的验证码 */ public function getCheckCode(){ } private function Img_resouce(){ //创建一个真彩图像 $this->img_resouce=imagecreatetruecolor($this->width,$this->height); //随机设置图像背景 $backcolor=imagecolorallocate($this->img_resouce,rand(225,255),rand(225,255),rand(225,255)); //填充颜色 imagefill($this->img_resouce, 0, 0, $backcolor); //设置边框背景 $border=imagecolorallocate($this->img_resouce, 0,0,0); //画一个矩形 imagerectangle($this->img_resouce,0,0,$this->width-1,$this->height-1,$border); } private function setDistructcolor(){ //绘画干扰点 for ($i = 0; $i disturbColorNum; $i++) { imagesetpixel($this->img_resouce, rand(1, $this->width-2), rand(1, $this->height-2), rand(0,255)); } //绘画干扰线 for ($j = 0; $jimg_resouce,rand(0,255),rand(0,255),rand(0,255)); imagearc($this->img_resouce, rand(0,$this->width), rand(0,$this->height), rand(10, 225), rand(20, 150), 55, 44, $linecolor); } } private function CreateCheckCode(){ $code='23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ'; $string=''; for ($i = 0; $i < $this->codeNum; $i++) { $char=$code{rand(0, strlen($code)-1)}; $string.=$char; } return $string; } private function outputtext($fontpath=''){ for ($i = 0; $i < $this->codeNum; $i++) { $fontcolor=imagecolorallocate($this->img_resouce, rand(0,128), rand(0, 128), rand(0, 128)); if ($fontpath=='') { $fontsize=rand(3, 5); $x=floor($this->width/$this->codeNum)*$i+3; $y=rand(0, $this->height-20); imagechar($this->img_resouce, $fontsize, $x, $y, $this->checkCode{$i}, $fontcolor); }else{ $fontsize=rand(12, 16); $x=floor(($this->width-8)/$this->codeNum)*$i+8; $y=rand($fontsize, $this->height-15); imagettftext($this->img_resouce,$fontsize,rand(-45,45),$x,$y,$fontcolor,fontpath,$this->checkCode{$i}); } } } private function outputimage() { if (imagetypes() & IMG_GIF) { header("Content-type: image/gif"); imagegif($this->img_resouce); }else if(imagetypes() & IMG_JPEG) { header("Content-type: image/jpeg"); imagejpeg($this->img_resouce); }else if(imagetypes() & IMG_PNG) { header("Content-type: image/png"); imagepng($this->img_resouce); }else { echo "PHP不支持的类型"; } } private function __destruct(){ imagedestroy($this->img_resouce); } } ?>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储
