热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

验证码类,php验证码类_PHP教程

验证码类,php验证码类。验证码类,php验证码类熟悉相关图像处理函数,简单的验证码类1codeclass2classValidateCode{3private$charsetabcdefghkmnprstuvwxyzABCDEFGHKMNP

验证码类,php验证码类


熟悉相关图像处理函数,简单的验证码类


1
//code class 2 class ValidateCode { 3 private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789'; //random effects 4 private $code; //code 5 private $codelen = 4 ; //code length 6 private $width = 130; //width 7 private $heigth = 50; //height 8 private $img; //image handle 9 private $font; //font file 10 private $fontsize = 20; //font size 11 private $fontcolor; //font color 12 13 //the construct initialization 14 public function __construct(){ 15 $this->fOnt= ROOT_PATH.'/font/elephant.ttf'; 16 } 17 18 //create random code from $charset 19 private function createCode(){ 20 $_len = strlen($this->charset); 21 for($i=1;$i<=$this->codelen;$i++){ 22 $this->code .= $this->charset[mt_rand(0,$_len)]; 23 } 24 } 25 26 //create background 27 private function createBg(){ 28 $this->img = imagecreatetruecolor($this->width, $this->heigth); 29 $_color = imagecolorallocate($this->img, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255)); 30 imagefilledrectangle($this->img,0,0,$this->width,$this->heigth,$_color); 31 } 32 33 //create font 34 private function createFont(){ 35 $_x = $this->width / $this->codelen; 36 for($i=0;$i<$this->codelen;$i++){ 37 $this->fOntcolor= imagecolorallocate($this->img, mt_rand(0,156), mt_rand(0,156), mt_rand(0,156)); 38 imagettftext($this->img, $this->fontsize, mt_rand(-30,30), $_x*$i+mt_rand(1,5), $this->heigth/1.4, $this->fontcolor, $this->font, $this->code[$i]); 39 } 40 } 41 42 //create line,snowflake 43 private function createLine(){ 44 for($i=0;$i<6;$i++){ 45 $_color = imagecolorallocate($this->img, mt_rand(0,156), mt_rand(0,156), mt_rand(0,156)); 46 imageline($this->img, mt_rand(0,$this->width), mt_rand(0, $this->heigth),mt_rand(0,$this->width), mt_rand(0, $this->heigth), $_color); 47 } 48 for($i=0;$i<100;$i++){ 49 $_color = imagecolorallocate($this->img, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255)); 50 imagestring($this->img, mt_rand(1, 5), mt_rand(0,$this->width), mt_rand(0,$this->heigth), '*', $_color); 51 } 52 } 53 54 //export image 55 private function outPut(){ 56 header('Content-type:image/png'); 57 imagepng($this->img); 58 imagedestroy($this->img); 59 } 60 61 //display 62 public function doimg(){ 63 $this->createBg(); 64 $this->createCode(); 65 $this->createLine(); 66 $this->createFont(); 67 $this->outPut(); 68 } 69 70 //get code 71 public function getCode(){ 72 return strtolower($this->code); 73 } 74 75 } 76

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1063511.htmlTechArticle验证码类,php验证码类 熟悉相关图像处理函数,简单的验证码类 1 // code class 2 class ValidateCode { 3 private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNP...


推荐阅读
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本篇文章介绍如何将两个分别表示整数的链表进行相加,并生成一个新的链表。每个链表节点包含0到9的数值,如9-3-7和6-3相加得到1-0-0-0。通过反向处理链表、逐位相加并处理进位,最终再将结果链表反向,即可完成计算。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文详细探讨了 PHP 中 method_exists() 和 is_callable() 函数的区别,帮助开发者更好地理解和使用这两个函数。文章不仅解释了它们的功能差异,还提供了代码示例和应用场景的分析。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文汇集了一系列具有强烈设计感的网站模板,特别是来自知名平台WrapBootstrap的响应式网站模板。这些模板不仅美观,而且功能强大,适合各种类型的网站建设需求。 ... [详细]
  • 本文详细介绍了如何在Excel中有效利用颜色和代码,解释了不同颜色和代码的具体含义,并提供了实用的操作技巧。通过学习这些内容,用户可以更好地管理和分析数据。 ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
author-avatar
玲子0909_366
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有