国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:36:31
字體:
來源:轉載
供稿:網友

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

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

 

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柘荣县| 平陆县| 丰县| 嫩江县| 马鞍山市| 仁布县| 浦东新区| 江华| 夏河县| 河北区| 临泉县| 岑溪市| 三原县| 竹山县| 麻阳| 阜康市| 奇台县| 阿城市| 宝清县| 临洮县| 昂仁县| 萨嘎县| 凤台县| 锡林郭勒盟| 鄱阳县| 南投县| 礼泉县| 新平| 南陵县| 灌南县| 无为县| 长海县| 云霄县| 安吉县| 石首市| 彩票| 旅游| 桂东县| 朔州市| 电白县| 丹巴县|