- width = $width;
- $this ->height = $height;
- $this ->codeNum = $codeNum;
- $this ->codeType = $codeType;
- $this ->fontSize = $fontSize;
- $this ->fontType = $fontType;
- $this ->codeStr = $codeStr;
- $this ->strNum = strlen($this ->codeStr) / 3 - 1;
- $this ->imageType = $imageType;
- $this ->checkCode = $this ->getCheckCode();
- }
- //+--------------------------------------------------------------------------------
- //* 生成验证码字符
- //+--------------------------------------------------------------------------------
- //* @return string
- //+--------------------------------------------------------------------------------
- public
- function __toString() {
- $string = implode('', $this ->getCheckCode());
- $_SESSION["code"] = $string; // 加到 session 中
- $this ->getImage(); // 输出验证码
- return '';
- }
- protected
- function getCheckCode() {
- $string = array();
- switch ($this ->codeType) {
- case 1:
- // 数字字符串
- $string = array_rand(range(0, 9), $this ->codeNum);
- break;
- case 2:
- // 大字母字符串
- $string = array_rand(array_flip(range('A', 'Z')), $this ->codeNum);
- break;
- case 3:
- // 汉字字符串
- for ($i = 0; $icodeNum);
- $i++) {
- $start = mt_rand(0, $this ->strNum);
- $string[$i] = self: :msubstr($this ->codeStr, $start);
- }
- break;
- case 4:
- // 混合字符串
- for ($i = 0; $icodeNum);
- $i++) {
- $rand = mt_rand(0, 2);
- switch ($rand) {
- case 0:
- $ascii = mt_rand(48, 57);
- $string[$i] = sprintf('%c', $ascii);
- break;
2. [图片] 混合. jpg
3. [图片] 数字. jpg
4. [图片] 中文. jpg
5. [图片] 字母. jpg
来源: https://www.php1.cn/detail/php-d0e0ec739b.html