php verification code class_PHP tutorial
/**
* Verification code class
* chaojie2008@126.com
* 2012-02-09
**/
class Vailimg {
private $height;
private $codeNum;
private $checkCode; // Verification code characters
private $image;
/* The constructor is used to instantiate the verification code object and initialize some member attributes */
/* Parameter width: Set the width of the verification code image, the default width value is 60 pixels */
/* Parameter height: Set the height of the verification code image, the default height value is 20 pixels */
/* Parameter codeNum: Set the number of letters and numbers in the verification code, the default number is 4 */
function __construct($width=60, $height=20, $codeNum=4) {
$this->checkCode=$this->createCheckCode(); //Initialize the member attribute checkCode
}
function showImage(){ //Output the image to the browser by accessing this method
}
function getCheckCode(){ //Access this method to obtain a randomly created verification code string
return $this->checkCode;
}
Private function getcreateImage () {// used to create image resources, and first made the back
$this->image=imageCreate($this->width,$this->height);
$back=imageColorAllocate($this->image, 255, 255, 255);
$border=imageColorAllocate($this->image, 0, 0, 0);
imageRectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
}
private function createCheckCode(){ //Randomly generate a user-specified number of strings
for($i=0;$i<$this->codeNum;$i++) {
$number=rand(0,2);
switch($number){
case 0: $rand_number=rand(48,57);break;
Case 1: $ rand_number = RAND (65,90); break; // uppercase letters
case 2: $rand_number=rand(97,122);break;
}
$ascii=sprintf("%c",$rand_number);
$ascii_number=$ascii_number.$ascii;
return $ascii_number;
private function setDisturbColor() { //Set the interference pixels and output 100 points of different colors to the image
for ($i=0;$i<=50;$i++) {
$color = imagecolorallocate($this->image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
}
private function outputText() { //Output random colors, random placement, and random strings to the image
for ($i=0;$i<=$this->codeNum;$i++) {
$bg_color = imagecolorallocate($this->image, rand(0,255), rand(0,128), rand(0,255));
$x = floor($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
Imagechar($this->image, 5, $x, $y, $this->checkCode[$i], $bg_color);
}
}
private function outputImage(){ // Automatically detect the image type supported by GD and output the image
If(imagetypes() & IMG_GIF){ //Determine whether the function that generates GIF format images exists
header("Content-type: image/gif"); //Send header information and set the MIME type to image/gif
Imagegif ($ This- & gt; Image); // The image outputs the image to the browser
in GIF format
} Elseif (ImageTypes () & IMG_JPG) {// determine whether the function that generates a jpg format image exists
header("Content-type: image/jpeg"); //Send header information and set the MIME type to image/jpeg
imagejpeg($this->image, "", 0.5); // Output the image to the browser in JPEN format
} Elseif (ImageTypes () & IMG_PNG) {// determine whether the function that generates a PNG format image exists
header("Content-type: image/png"); //Send header information and set the MIME type to image/png
ImagePng ($ this- & gt; Image); // The image outputs the image to the browser
in PNG format
}elseif(imagetypes() & IMG_WBMP){ // Determine whether the function to generate WBMP format images exists
header("Content-type: image/vnd.wap.wbmp"); //Sending header is image/wbmp
ImageWBMP ($ this- & gt; image); // Output the image into the browser in WBMP format
//If there is no supported image type
DIE ("PHP does not support image creation!"); // Do not output images, output a error message, and exit the program
}
function __destruct(){ //Destroy image resources and release memory before the object ends
ImageDestroy ($ this- & gt; Image); // Call the method in the GD library to destroy image resources
}
}
?>
Excerpted from chaojie2009’s column

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an
