激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現的驗證碼文件類實例

php實現的驗證碼文件類實例

2020-09-30 16:19瘋狂的流浪 PHP教程

這篇文章主要介紹了php實現的驗證碼文件類,實例分析了php生成驗證碼文件的技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了php實現的驗證碼文件類。分享給大家供大家參考。具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
/**
* @file
* @version 1.0
* @author  網海浪子
* @brief   驗證碼文件類
*
*/
class CCheckCodeFile
{
//驗證碼位數
private $mCheckCodeNum = 4;
//產生的驗證碼
private $mCheckCode  = '';
//驗證碼的圖片
private $mCheckImage = '';
//干擾像素
private $mDisturbColor = '';
//驗證碼的圖片寬度
private $mCheckImageWidth = '80';
//驗證碼的圖片寬度
private $mCheckImageHeight = '20';
/**
*
* @brief  輸出頭
*
*/
private function OutFileHeader()
{
 header ("Content-type: image/png");
}
/**
*
* @brief  產生驗證碼
*
*/
private function CreateCheckCode()
{
 $this->mCheckCode = strtoupper(substr(md5(rand()),0,$this->mCheckCodeNum));
  return $this->mCheckCode;
}
 
/**
*
* @brief  產生驗證碼圖片
*
*/
private function CreateImage()
{
 $this->mCheckImage = @imagecreate ($this->mCheckImageWidth,$this->mCheckImageHeight);
 imagecolorallocate ($this->mCheckImage, 200, 200, 200);
  return $this->mCheckImage;
}
/**
*
* @brief  設置圖片的干擾像素
*
*/
private function SetDisturbColor()
{
  for ($i=0;$i<=128;$i++)
  {
  $this->mDisturbColor = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,255), rand(0,255));
  imagesetpixel($this->mCheckImage,rand(2,128),rand(2,38),$this->mDisturbColor);
  }
}
/**
*
* @brief  設置驗證碼圖片的大小
*
* @param  $width  寬
*
* @param  $height 高
*
*/
public function SetCheckImageWH($width,$height)
{
 if($width==''||$height=='')return false;
 $this->mCheckImageWidth = $width;
 $this->mCheckImageHeight = $height;
 return true;
}
/**
*
* @brief  在驗證碼圖片上逐個畫上驗證碼
*
*/
private function WriteCheckCodeToImage()
{
  for ($i=0;$i<=$this->mCheckCodeNum;$i++)
  {
  $bg_color = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,128), rand(0,255));
  $x = floor($this->mCheckImageWidth/$this->mCheckCodeNum)*$i;
  $y = rand(0,$this->mCheckImageHeight-15);
  imagechar ($this->mCheckImage, 5, $x, $y, $this->mCheckCode[$i], $bg_color);
  }
}
/**
*
* @brief  輸出驗證碼圖片
*
*/
public function OutCheckImage()
{
 $this ->OutFileHeader();
 $this ->CreateCheckCode();
 $this ->CreateImage();
 $this ->SetDisturbColor();
 $this ->WriteCheckCodeToImage();
 imagepng($this->mCheckImage);
 imagedestroy($this->mCheckImage);
}
}
$c_check_code_image = new CCheckCodeFile();
//$c_check_code_image ->SetCheckImageWH(100,50);
//設置顯示驗證碼圖片的尺寸
$c_check_code_image ->OutCheckImage();
?>

希望本文所述對大家的php程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲第一综合 | 特级a欧美做爰片毛片 | 久久亚洲精品久久国产一区二区 | 羞羞视频免费网站日本动漫 | 99re热精品视频 | 国产亚洲精品久久久久婷婷瑜伽 | 一本到免费视频 | 在线观看中文字幕av | 欧美精品一区二区三区四区 | 日本在线播放一区二区三区 | 久久蜜桃香蕉精品一区二区三区 | 中文字幕在线免费观看电影 | 成人午夜视频在线观看免费 | freexxxx性女hd性吃奶 | 99久久一区二区 | 干色视频 | 国产成人自拍视频在线观看 | 国产一区二区精品免费 | 国产91精品亚洲精品日韩已满 | 毛片118极品美女写真 | 欧美成在人线a免费 | hd性videos意大利复古 | 午夜精品小视频 | 欧美特黄一级高清免费的香蕉 | 日本网站一区 | 欧美一级三级在线观看 | 羞羞视频免费视频欧美 | 视频一区二区三区在线播放 | 在线观看免费污视频 | 久久精品亚洲一区二区三区观看模式 | 视频一区 日韩 | 成年免费视频黄网站在线观看 | 电影91| 成人青青草 | 欧美日韩在线播放 | 俄罗斯hdxxx| 一级毛片在线免费观看 | 国产伦久视频免费观看视频 | 91久久国产综合精品女同国语 | 素人视频免费观看 | 毛片视频网站在线观看 |