跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

一个好用的PHP验证码类实例分享_PHP教程

分享一个好用的php验证码类,包括调用示例。

说明:

如果不适用指定的字体,那么就用imagestring()函数,如果需要遇到指定的字体,就要用到imagettftext()函数。字体的位置在C盘下Windows/Fonts.

参考了网上的php 生成验证码的方法,以及php 图片验证码和php 中文验证码的生成方法。用到了PHP GD库的相关知识。

1,生成验证码的类 VerificationCode.class.php复制代码代码如下:php
font="CALIBRIZ.TTF";}//生成验证码private function createCode(){$len=strlen($this->charset)-1;for ($i = 0; $i codelen; $i++) {$this->code .= $this->charset[mt_rand(0,$len)];}}//生成背景private function createBg(){$this->img=imagecreatetruecolor($this->width,$this->height);$color = imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);}//生成文字private function createFont(){$x=$this->width/$this->codelen;for ($i = 0; $i codelen; $i++) {$this->fontColor=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));imagettftext($this->img,$this->fontSize,mt_rand(-30,30),$i*$x+mt_rand(1,5),$this->height/1.4,$this->fontColor,$this->font,$this->code[$i]);  // www.jbxue.com//imagestring($this->img,5,$i*$x+mt_rand(1,5),5,$this->code[$i],$this->fontColor);}}//生成线条、雪花private function createDisturb(){for ($i = 0; $i                 $color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->width),mt_rand(0,$this->width),mt_rand(0,$this->width),$color);}for ($i = 0; $i                 $color=imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);}}//输出private function outPut(){header("Content-Type:image/png");imagepng($this->img);imagedestroy($this->img);}public function showCode(){$this->createBg();$this->createCode();$this->createDisturb();$this->createFont();$this->outPut();}//获取验证码public function getCode(){return strtolower($this->code);}}?>code.php PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。

下载复制代码代码如下:php
getCode();$code->showCode();?>验证码:http://www.bkjia.com/PHPjc/621648.html www.bkjia.com true http://www.bkjia.com/PHPjc/621648.html TechArticle分享一个好用的php验证码类,包括调用示例。 说明: 如果不适用指定的字体,那么就用imagestring()函数,如果需要遇到指定的字体,就要用...

相关文章