`
itxdl
  • 浏览: 26823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP入门培训教程 一个漂亮的PHP验证码

PHP 
阅读更多

PHP入门培训教程 一个漂亮的PHP验证码
如何写一个漂亮的PHP验证码?兄弟连PHP培训小编分享一段代码给大家:
  <?php
  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="C:\Windows\Fonts\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<$cou;$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="C:\Windows\Fonts\AdobeGothicStd-Bold.otf";//$this->fonturl;
  $counts=$this->counts;
  for($i=0;$i<$counts;$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<$counts;$j++){
  $dscode = $originalcode[rand(0,$countdistrub-1)];
  $_dscode.=$dscode;
  }
  return $_dscode;
  }
  }
  Header("Content-type: image/GIF");
  $imagecode=new Imagecode(160,50);
  $imagecode->imageout();

分享到:
评论

相关推荐

    分享一个漂亮的php验证码类

    标题提到的"漂亮的php验证码类"是一个用于创建美观且安全的验证码的工具。 验证码类通常包含以下几个关键功能: 1. **随机字符生成**:验证码类会生成一组随机的字母或数字,这组字符既可能是纯数字,也可能是字母...

    PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理PPT教案.pptx

    PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理PPT教案.pptx

    漂亮的php 验证码

    总的来说,这个“漂亮的php 验证码”项目展示了如何用PHP创建一个功能齐全且具有视觉吸引力的验证码系统,涉及到的技术包括PHP基础、图像处理、前端交互、会话管理等。这样的验证码系统对于任何需要防止自动化攻击的...

    漂亮的php验证码,包含支持多字体,字母验证码,数字验证码

    漂亮的php验证码,包含支持多字体,字母验证码,数字验证码,经过改进的支持多字体的php验证码,很清爽的感觉,也很大气,适合做商业网站开发插件,同时过滤了几个容易混淆的数字与字母。

    PHP入门培训教程PHP MVC框架核心类.pdf

    PHP MVC框架核心类是PHP入门培训教程中的一部分,该教程旨在帮助初学者快速掌握PHP编程语言并学习MVC框架的核心概念。该教程通过实例演示了框架核心类的设计和实现,帮助学习者快速理解MVC框架的核心思想。 ...

    php验证码类 php中文验证码

    1. **随机字符生成**:为了生成中文验证码,我们需要一个包含大量中文字符的字符串池。PHP提供了`mb_list_encodings`和`mb_convert_encoding`等函数来处理多字节字符集,如UTF-8,以确保正确地选取和输出中文字符。 ...

    php实用验证码一例 php实用验证码一例

    php实用验证码一例 php实用验证码一例 php实用验证码一例

    好用的php验证码类库.zip

    "好用的php验证码类库.zip"就是一个这样的资源,提供了易于使用的PHP验证码实现。 验证码类库通常包括以下几个核心组件: 1. **生成验证码**:这个过程涉及到随机字符串或数字的生成,通常结合特定的字体、颜色和...

    PHP初级入门教程二本

    本教程旨在为初学者提供一个全面且深入的PHP学习指南,帮助你们掌握这个强大的编程工具。 第一本教程《PHP初级入门热门教程.chm》可能涵盖以下内容: 1. **PHP基础**:介绍PHP的历史、特点以及安装配置环境,如...

    PHP发送邮箱验证码

    本教程将深入讲解如何使用PHP来发送QQ邮箱的验证码。 首先,要实现PHP发送邮箱验证码,我们需要了解SMTP(Simple Mail Transfer Protocol)协议。SMTP是互联网上传输电子邮件的标准,大多数邮件服务提供商,包括QQ...

    PHP入门教程CHM版

    通过这个CHM版的PHP入门教程,学习者不仅可以获得理论知识,还能通过实例练习巩固所学,从而逐步掌握PHP编程技能,为进一步深入学习PHP框架和Web开发打下坚实基础。记得在学习过程中,多动手实践,结合实际项目来...

    PHP从入门到精通.pdf-入门教程.CHM

    《PHP从入门到精通》从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面...PHP入门教程 CHM 中文手册,使用很方便~ 让php初学者,找到学习的好方法,就1分,来吧。

    PHP语音验证码和PHP图片验证码

    1. 生成随机字符串:同图片验证码,首先需要生成一个安全的字符串。 2. 文本转语音(TTS):使用PHP的Text-to-Speech库,如eSpeak或Festival,将字符串转换为音频文件。 3. 提供下载或流式传输:将生成的音频文件...

    php验证码简单源码

    例如,可能有一个`captcha.php`文件,它是验证码生成的入口,而其他文件如`font`目录下可能存放了各种字体文件,`images`目录可能包含背景图片或干扰元素。 使用这个验证码源码时,你需要在HTML表单中添加一个图像...

    php注册与登录(输入验证码)

    在这个项目中,PHP可能生成一个随机字符串作为验证码,并显示在图像上,用户需要输入相同的字符串才能继续。验证码的生成和验证都需要PHP代码来实现。 4. 文件操作: 因为没有使用数据库,用户的信息(用户名和...

    php验证码,php验证码类

    `lib_verify.php` 文件可能是一个自定义的PHP验证码类,用于生成和验证这些验证码。 验证码类的设计通常包括以下几个关键部分: 1. **生成随机字符串**:验证码的核心是那一串随机字符。在PHP中,可以使用`rand()`...

    几款漂亮的php验证码

    几款用php写的漂亮的验证码!目录下有3个php文件,每个都是一种验证码,直接运行文件即可!

    php,验证码,汉字验证码,PHP汉字验证码

    php,验证码,汉字验证码,PHP汉字验证码

    PHP随机验证码含有5种样式

    Imagick 是一个更强大的图像处理扩展,它提供了更多的功能,但可能需要额外安装。 1. **数字验证码**:最简单的验证码类型是纯数字验证码,通常包含4-6个随机数字。在PHP中,我们可以使用 `rand()` 函数生成随机...

    一个php验证码生成类代码

    通过上述步骤,我们可以创建一个功能完善的PHP验证码生成类。这个类可以被多次实例化,每次生成不同的验证码图像,确保网站的安全。当用户提交表单时,服务器会检查输入的验证码与存储的验证码是否匹配,以此来确认...

Global site tag (gtag.js) - Google Analytics