Home >Backend Development >PHP Tutorial >PHP production graphic verification code code sharing, php graphic verification code code_PHP tutorial

PHP production graphic verification code code sharing, php graphic verification code code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:16:151115browse

PHP graphic verification code code sharing, PHP graphic verification code code

Effect:

myvcode.class.php: Encapsulates the class for creating verification codes

a28f135e22bbe6b53eab405adaad88d8width = $width;<br>$this->height = $height;<br>$this->codeNum = $codeNum;<br>$this->pixNum = $pixNum;<br>$this->lineNum = $lineNum;<br>}<br>/*内部私有方法,创建图像资源*/<br>private function getCreateImage()<br>{<br>$this->image = imagecreatetruecolor($this->width, $this->height);<br>$white = imagecolorallocate($this->image,0xff,0xff,0xff);<br>imagefill($this->image, 0, 0, $white);<br>$black = imagecolorallocate($this->image,0,0,0);<br>imagerectangle($this->image, 0, 0, $this->width-1, $this->height-1, $black);<br>}<br>/*内部私有方法,绘制字符,去掉o0Llz和012*/<br>private function createCheckCode()<br>{<br>$code = '3456789abcdefghijkmnpqrstuvwxyABCDEFGHIJKMNPQRSTUVWXY';<br>$this->checkCode = "";<br>for($i=0; $i1c3d29443c4e273256f32fb1b3e7ccaacodeNum;$i++)<br>{<br>$char = $code{rand(0,strlen($code) - 1)};<br>$this->checkCode .= $char;<br>$fontColor = imagecolorallocate($this->image, rand(0,128), rand(0,128),rand(0,128));<br>$fontSize = rand(3,5);<br>$x = rand(0,$this->width-imagefontwidth($fontSize));<br>$y = rand(0,$this->height-imagefontheight($fontSize));<br>imagechar($this->image, $fontSize, $x, $y, $char, $fontColor);<br>}<br>}<br>/*内部私有方法设置干扰元素*/<br>private function setDisturbColor()<br>{<br>/*绘制干扰点*/<br>for($i=0; $i1c3d29443c4e273256f32fb1b3e7ccaapixNum; $i++)<br>{<br>$color = imagecolorallocate($this->image, rand(0,255), rand(0,255), rand(0,255));<br>imagesetpixel($this->image, rand(1,$this->width-2), rand(1,$this->height-2), $color);<br>}<br>/*绘制干扰线*/<br>for($i=0; $i1c3d29443c4e273256f32fb1b3e7ccaalineNum; $i++)<br>{<br>$color = imagecolorallocate($this->image, rand(0,255), rand(0,255), rand(0,255));<br>imageline($this->image, rand(1,$this->width / 2), rand(1,$this->height / 2),<br>rand($this->width / 2,$this->width – 2), rand($this->height / 2,$this->height – 2), $color);
}<br>}<br>/*开启session保存 利用echo 输出图像*/<br>function __toString()<br>{<br>$_SESSION['code'] = strtoupper($this->checkCode);<br>$this->getCreateImage();<br>$this->createCheckCode();<br>$this->setDisturbColor();<br>$this->outputImg();<br>}<br>/*内部私有方法输出图像*/<br>private function outputImg()<br>{<br>header("content-type:image/png");<br>imagepng($this->image);<br>}<br>/*析构方法,释放对象*/<br>function __destruct()<br>{<br>imagedestroy($this->image);<br>}<br>}<br>?>

imgcode.php output image

<&#63;php
session_start();
require_once('myvcode.class.php');
echo new Vcode();
&#63;>

test.html: Same as img tag reference

<img src="imgcode.php">

You can add an a tag and use js to achieve the effect of changing one picture:

/*Partial refresh to change verification code*/
function changeCode()
{
var imgcode = document.getElementById(‘code’);
var change = document.getElementById(‘change’);
change.onclick = function()
{
/*You must add the following parameters to refresh*/
imgcode.src='code.php?tm'+Math.random();
}
}

code and change are the ids of img and a respectively

PHP image verification code

This is the verification code of phpcms. It has been used on hundreds of thousands of websites and is very easy to use.
72405b63e006daad865bee018dd4323a

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/898291.htmlTechArticlePHP production graphic verification code code sharing, php graphic verification code code effect: myvcode.class.php: encapsulation creation verification Code class php /* * file:myvcode.class.php * Verification code class, class name Vcode...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn