ホームページ >バックエンド開発 >PHPチュートリアル >PHP検証コードクラス PHP検証コード

PHP検証コードクラス PHP検証コード

WBOY
WBOYオリジナル
2016-07-25 09:04:211107ブラウズ
  1. /**
  2. * ユニバーサル認証コードクラス img.php
  3. * バージョン: V0.1
  4. * bbs.it-home.org 2013/3/1
  5. */
  6. class ValidateCode {
  7. private $charset="abcdefghizklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; //ランダム係数
  8. private $code;
  9. コードレン = 4; //検証コードは複数の文字を表示します
  10. private $width=130; //検証コードの幅
  11. private $img; //検証コードのリソースハンドル
  12. private $font; font
  13. private $fontsize=20; //指定されたフォントサイズ
  14. private $fontcolor; //ランダムなフォントカラー
  15. //フォントを書き込むための構築クラス
  16. $this->font =ROOT_PATH.' /font/elephant.ttf';
  17. }
  18. //ランダムなコードを 4 つ作成します
  19. private function createCode(){
  20. $_leng=strlen($this->charset);
  21. for($i=1 ;$icodelen;$i++){
  22. $this->code.=$this->charset[mt_rand(0,$_leng)];
  23. }
  24. return $this->
  25. }
  26. ;
  27. //背景を作成します
  28. プライベート関数 createBg(){
  29. // リソース jubing のキャンバスを作成します
  30. $this->img=imagecreatetruecolor($this->width,$this->height) ;
  31. / /背景色
  32. $color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));
  33. //四角形を描画します
  34. imagefilledrectangle($this->gt; img,0, $this->height,$this->width,0,$color);
  35. }
  36. //フォントを作成
  37. プライベート関数 createFont(){
  38. $_x=($this->width / $this- >codelen); //フォントの長さ
  39. for ($i=0;$icodelen;$i++){
  40. //文字の色
  41. $color=imagecolorallocate($this-> ;img,mt_rand) (0,156),mt_rand(0,156),mt_rand(0,156));
  42. //リソースハンドル フォントサイズ 傾き フォント長 フォント高さ フォントの色 フォント固有のテキスト
  43. imagettftext($this->img,$this->fontsize,mt_rand (-30,30),$_x*$i+mt_rand(1,5),$this->高さ/1.4,$color,$this->font,$this->code [$i]) ;
  44. }
  45. }
  46. //ランダムな線
  47. private function createLine(){
  48. //ランダムな線
  49. for ($i=0;$i $color = imagecolorallocate( $this-> img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
  50. imageline($this->img,mt_rand(0,$this->幅),mt_rand(0,$this->高さ) ),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);
  51. }
  52. //ランダムな雪の結晶
  53. for ($i=0; $i $color = imagecolorallocate($this->img,mt_rand(220,255),mt_rand(220,255),mt_rand(220,255));
  54. imagestring($this->img,mt_rand( 1,5), mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);
  55. }
  56. }
  57. //背景を出力
  58. プライベート関数outPut (){
  59. / /ヘッダーを生成
  60. header('ContentType:img/png');
  61. //画像を出力
  62. imagepng($this->img);
  63. //結果セットを破棄
  64. imagedestroy($this-> ;img);
  65. }
  66. //外部出力
  67. public function doimg(){
  68. //背景をロード
  69. $this->createBg();
  70. //ファイルをロード
  71. $this->createCode();
  72. / /ラインをロード
  73. $ this->createLine();
  74. //フォントをロード
  75. $this->createFont();
  76. //背景をロード
  77. $this->outPut();
  78. }
  79. //検証コードを取得
  80. public function getCode(){
  81. return strto lower($this->code);
  82. }
  83. }
  84. ?>
  85. コードをコピー
呼び出し例:index.php PHP 検証コードに関するいくつかの記事を皆さんにお勧めします。 phpランダム検証コードphpはランダム検証コード(画像とテキスト)を生成します

phpを使用してスノーフレークの背景を持つ検証コードを生成しますPHP検証コードクラス PHP検証コード phpで書かれた確認コード 動的画像検証コードを生成するためのphpコード

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。