>백엔드 개발 >PHP 튜토리얼 >인증코드 PHP 클래스는 숫자, 영문자, 한자, 혼합을 지원합니다.

인증코드 PHP 클래스는 숫자, 영문자, 한자, 혼합을 지원합니다.

WBOY
WBOY원래의
2016-07-25 08:46:21865검색
  1. //---------------- ---------------------
  2. // 인증코드 클래스, 이 클래스의 객체는 인증코드 이미지를 동적으로 획득할 수 있으며, 인증코드 문자는 SESSION['code']
  3. //------------에 저장됩니다. -------- ---------------- -------- --
  4. //숫자, 영문, 한자 혼합 4가지 형식 지원
  5. //------ ------------- ----------- -----
  6. // @작성자: HelloChina(sanzi0930@163.com)
  7. // ------------------------ ---------------- ----------------------------------
  8. // @날짜: 2012년 6월 7일 11:03:00
  9. // ---------------------------- ------ ------------------ ---
  10. // @version 1.0
  11. // ------ --------------- ---------------------- ---
  12. Vcode 클래스{
  13. protected $width; //인증 코드 너비
  14. protected $height; //인증 코드 길이
  15. protected $codeNum; //인증 코드 문자 수
  16. protected $codeType; protected $fontSize; //문자 크기
  17. protected $codeStr; //중국어 내용
  18. protected $imageType; 출력 이미지 유형
  19. protected $image; //이미지 리소스
  20. protected $checkCode; //인증 코드 내용
  21. /**
  22. ---------------------------------- ---------------------
  23. * 인증코드 정보 받기
  24. ----- - ------------------------------------------------- - -------------
  25. * @param 정수 $width 인증 코드 너비
  26. * @param 정수 $height 인증 코드 height
  27. * @param 정수 $codeNum 인증코드 문자 개수
  28. * @param 정수 $codeType 인증코드 문자 종류 1은 숫자 2는 문자 3은 한자 4는 혼합
  29. * @param 정수 $fontSize 인증코드 글꼴 크기
  30. * @param string $fontType 인증코드 글꼴 유형
  31. * @param string $imageType 인증코드 출력 이미지 유형
  32. * @param string $codestr 중국어 인증코드 내용
  33. - ---- --------------------------------- ---- -------------
  34. */
  35. public function __construct($width=100, $ height=50, $codeNum=4, $codeType=4, $fontSize=12, $fontType ='heiti.ttf' ,$imageType='jpeg', $codeStr='배고픈 사람에게 가세요. 그는 납작해요, 예 , 잘 날아요. 생각만 하고 있어요.'){
  36. $this- >width = $width;
  37. $this->height = $height;
  38. $this ->codeNum = $codeNum;
  39. $this->codeType = $codeType;
  40. $ this->fontSize = $fontSize;
  41. $this->fontType = $fontType;
  42. $this->codeStr = $codeStr;
  43. $this->strNum = strlen($this- >codeStr)/3-1;
  44. $this->imageType = $imageType;
  45. $this->checkCode = $this->getCheckCode();
  46. }
  47. // --------- --------------- --------- ------------
  48. //* 인증 코드 문자 생성
  49. // -- -------- ----------------------------- -------- -------
  50. //* @return string
  51. // -------- -------- ----------------------------- -------- --
  52. 공용 함수 __toString(){
  53. $string = implode('', $this->getCheckCode() );
  54. $_SESSION["code"]=$string; session
  55. $this->getImage(); //인증코드 출력
  56. return '';
  57. }
  58. protected function getCheckCode(){
  59. $string = array(); > switch($this->codeType){
  60. 사례 1:
  61. //숫자 문자열
  62. $ string = array_rand(range(0,9), $this->codeNum);
  63. break;
  64. 사례 2:
  65. //대문자 문자열
  66. $string = array_rand(array_flip(range ('A', 'Z')), $this->codeNum);
  67. break ;
  68. 사례 3:
  69. //한자 문자열
  70. for($i=0 ; $i<($this->codeNum); $i ){
  71. $start = mt_rand(0, $this->strNum);
  72. $string[$i]= self::msubstr( $this->codeStr,$start);
  73. }
  74. break;
  75. 사례 4:
  76. //혼합 문자열
  77. for($i=0; $i<($this->codeNum); $i ){
  78. $rand = mt_rand(0,2);
  79. 스위치($rand){
  80. 사례 0:
  81. $ascii = mt_rand(48,57);
  82. $string[$i] = sprintf('% c ',$ascii);
  83. break;
코드 복사

인증코드, PHP
이 주제는 Xiaobei가 2015-11-18 08:23에 이동했습니다


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.