首页 > 资讯列表 > 编程/数据库 >> PHP

非常实用的php验证码类

PHP 2016-05-22 21:45:14 转载来源: 网络整理/侵权必删

本篇内容主要为大家提供的是非常实用的php验证码类。感兴趣的同学可以参考学习下,具体内容如下: 这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来! PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言

本篇内容主要为大家提供的是非常用的php验证码类。感兴趣的同学可以参考学习下,具体内容如下:

这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来!

PHP开源脚本语言

PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

这篇文章主要为大家分享了非常实用的php验证码类,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了php验证码类,供大家参考,具体内容如下

<?php /** * * @author Administrator * */ class ValidateCode{ private $width; private $height; private $codeNum; private $img_resouce; private $disturbColorNum; private $checkCode; function __construct($width=80,$height=20,$codeNum=4) { $this->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 <$this->disturbColorNum; $i++) { imagesetpixel($this->img_resouce, rand(1, $this->width-2), rand(1, $this->height-2), rand(0,255)); } //绘画干扰线 for ($j = 0; $j <3; $j++) { $linecolor=imagecolorallocate($this->img_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); } } ?>

以上就是本文的全部内容,希望对大家的学习有所帮助。

标签: 非常 用的 php 验证 码类


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持