<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            一個漂亮的php驗證碼類

            時間:2025-10-06 08:50:17 php語言

            一個漂亮的php驗證碼類

              編程的魅力在于可以實現想要的功能,下面小編就為大家分享一個漂亮的php驗證碼類。需要的朋友可以過來參考下,更多消息請關注應屆畢業生網。

              直接上代碼,代碼如下:

              /pic/p>

              class ValidateCode {

              private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';/pic/p>

              private $code;/pic/p>

              private $codelen = 4;/pic/p>

              private $width = 130;/pic/p>

              private $height = 50;/pic/p>

              private $img;/pic/p>

              private $font;/pic/p>

              private $fontsize = 20;/pic/p>

              private $fontcolor;/pic/p>

              /pic/p>

              public function __construct() {

              $this->font = dirname(__FILE__).'/font/elephant.ttf';/pic/p>

              }

              /pic/p>

              private function createCode() {

              $_len = strlen($this->charset)-1;

              for ($i=0;$i<$this->codelen;$i++) {

              $this->code .= $this->charset[mt_rand(0,$_len)];

              }

              }

              /pic/p>

              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);

              }

              /pic/p>

              private function createFont() {

              $_x = $this->width / $this->codelen;

              for ($i=0;$i<$this->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),$_x*$i+mt_rand(1,5),$this->height / 1.4,$this->fontcolor,$this->font,$this->code[$i]);

              }

              }

              /pic/p>

              private function createLine() {

              /pic/p>

              for ($i=0;$i<6;$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->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);

              }

              /pic/p>

              for ($i=0;$i<100;$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);

              }

              }

              /pic/p>

              private function outPut() {

              header('Content-type:image/png');

              imagepng($this->img);

              imagedestroy($this->img);

              }

              /pic/p>

              public function doimg() {

              $this->createBg();

              $this->createCode();

              $this->createLine();

              $this->createFont();

              $this->outPut();

              }

              /pic/p>

              public function getCode() {

              return strtolower($this->code);

              }

              }

              輸出實例:

              使用方法:

              1、先把驗證碼類保存為一個名為 ValidateCode.class.php 的文件;

              2、新建一個名為 captcha.php 的文件進行調用該類;

              captcha.php

              代碼如下:

              session_start();

              require './ValidateCode.class.php'; /pic/p>

              $_vc = new ValidateCode(); /pic/p>

              $_vc->doimg();

              $_SESSION['authnum_session'] = $_vc->getCode();/pic/p>

              3、引用到頁面中,代碼如下:

              代碼如下:

              4、一個完整的驗證頁面,代碼如下:

              代碼如下:

              session_start();

              /pic/p>

              /pic/p>

              session_destroy();

              /pic/p>

              /pic/p>

              ?>

              此例為session驗證實例

              驗證碼:

              /pic/p>

              /pic/p>

              ";

              $validate="";

              if(isset($_POST["validate"])){

              $validate=$_POST["validate"];

              echo "您剛才輸入的是:".$_POST["validate"]."

              狀態:";

              if($validate!=$_SESSION["authnum_session"]){

              /pic/p>

              echo "輸入有誤";

              }else{

              echo "通過驗證";

              }

              }

              ?>

            【一個漂亮的php驗證碼類】相關文章:

            仿照TP框架自帶的PHP驗證碼類12-29

            php實現驗證碼制作12-24

            php如何實現驗證碼03-15

            php驗證碼代碼怎么寫08-30

            用php生成帶有雪花背景的驗證碼01-08

            php生成動態圖片驗證碼代碼08-11

            PHP學習:PHP拼音類01-25

            PHP創建漂亮圖表的步驟12-01

            php如何在一個類中引入另外一個類02-13

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院