PHP書き込み検証コードクラス

WBOY
リリース: 2016-06-23 14:31:13
オリジナル
1231 人が閲覧しました

はじめに: これは、PHP で検証コードを記述するための詳細ページです。PHP に関連する知識、スキル、経験、およびいくつかの PHP ソース コードを紹介します。

class='pingjiaF' Frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=341730'scroll='no'>

少し前に確認コード関数を書きました。今日はオブジェクト指向プログラミングを支援する検証コードクラスを作成しました。

img.php

 1 <?php 2 /** 3 * QQ:279861795 4 * Author: gwyy 5 * Date: 2011-7-01 6 *通用验证码类 7 *版本:V0.1 8 */ 9 10 class ValidateCode {11      private  $charset="abcdefghizklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";   //随机因子  12      private  $code;     //验证码文字13      private  $codelen=4;    //验证码显示几个文字14      private  $width=130;   //验证码宽度15      private  $height=50;   //验证码高度16      private  $img;       //验证码资源句柄17      private  $font;     //指定的字体18      private  $fontsize=20;  //指定的字体大小19      private  $fontcolor;     //字体颜色  随机20   21      //构造类  编写字体22      public  function __construct(){23          $this->font=ROOT_PATH.'/font/elephant.ttf';24      }25      //创建4个随机码26      private function createCode(){27          $_leng=strlen($this->charset);28          for($i=1;$i<=$this->codelen;$i++){29              $this->code.=$this->charset[mt_rand(0,$_leng)];30          }31          return $this->code;32      }33     34      //创建背景35      private function createBg(){36          //创建画布 给一个资源jubing37          $this->img=imagecreatetruecolor($this->width,$this->height);38          //背景颜色39          $color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));40         //画出一个矩形41         imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);42      }43     44      //创建字体45      private  function createFont(){46          $_x=($this->width / $this->codelen);   //字体长度47          for ($i=0;$i<$this->codelen;$i++){48              //文字颜色49              $color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));50              //资源句柄 字体大小 倾斜度 字体长度  字体高度  字体颜色  字体  具体文本51              imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$color,$this->font,$this->code[$i]);52          }53      }54      //随机线条55      private function createLine(){56          //随机线条57          for ($i=0;$i<6;$i++){58              $color = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));59              imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);60          }61          //随机雪花62          for ($i=0;$i<45;$i++){63              $color = imagecolorallocate($this->img,mt_rand(220,255),mt_rand(220,255),mt_rand(220,255));64              imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);65          }66      }67      //输出背景68      private  function outPut(){69           //生成标头70          header('ContentType:img/png');71          //输出图片72          imagepng($this->img);73          //销毁结果集74          imagedestroy($this->img);75      }76      //对外输出77      public  function doimg(){78          //加载背景79          $this->createBg();80          //加载文件81          $this->createCode();82          //加载线条83          $this->createLine();84          //加载字体85          $this->createFont();86          //加载背景87          $this->outPut();88  }89 90 //获取验证码91      public  function getCode(){92          return strtolower($this->code);93    }94 95 }96 97    ?>
ログイン後にコピー

その他のページ呼び出しメソッド

index.php

require 'php';

$img=新しい検証コード () ;

echo $img->doimg();


?>

http://biancheng.dnbcw.info/php/341730.html pageNo:6

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート