Maison  >  Article  >  développement back-end  >  classe d'encapsulation du code de vérification php

classe d'encapsulation du code de vérification php

亚连
亚连original
2018-05-17 10:42:182152parcourir

Ce qui suit est le code de vérification classe d'encapsulation php que j'ai compilé. Si vous êtes intéressé, vous souhaiterez peut-être y jeter un œil

<?php  
/**  
*验证码封装类  
*/  
class CaptchaLib {  
private $length;  
//验证码长度  
private $font=5;  
//内置字体大小  1,2,3,4,5  
//通过构造函数赋值  
public function construct($length=4,$font=5) {  
$this->length=$length;  
$this->font=$font;  
}  
//生成随机字符串  
private function generalCode() {  
$char_array=array_merge(range(&#39;A&#39;,&#39;Z&#39;),range(&#39;a&#39;,&#39;z&#39;),range(0,9));//生成一个字母和数字的数组  
$index=array_rand($char_array,$this->length);  
//随机取4个字符,返回的是字符下标  
shuffle($index);  
//打乱下标  
//拼接字符串  
$str=&#39;&#39;;  
foreach($index as $i) {  
$str.=$char_array[$i];  
}  
return $str;  
}  
//生成验证码  
public function generalCaptcha() {  
$str=$this->generalCode();  
//打开背景图  
$bg_path=&#39;./captcha/captcha_bg&#39;.rand(1,5).&#39;.jpg&#39;;  
//背景图地址 5张随机背景图片  
$img=imagecreatefromjpeg($bg_path);  
//打开图片  
//定义前景色  
$color=imagecolorallocate($img,0,0,0);  
if(rand(1,2)==2)  
$color=imagecolorallocate($img,255,255,255);  
//将字符串写到图片上  
$x=(imagesx($img)-imagefontwidth($this->font)*strlen($str))/2;  
$y=(imagesy($img)-imagefontheight($this->font))/2;  
imagestring($img,$this->font,$x,$y,$str,$color);  
header(&#39;content-type:image/png&#39;);  
imagepng($img);  
imagedestroy($img);  
}  
}  
//测试  
$captcha=new CaptchaLib(8,4);  
$captcha->generalCaptcha();

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles associés :

Analyse des points clés et réponses à la réécriture et au polymorphisme

Comment réécrire la méthode padleft en js

Quelles sont les méthodes d'héritage en js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn