⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.php

📁 足彩投注系统.自己注意看
💻 PHP
字号:
<?php
session_start();
set_time_limit(600);
class CCheckCodeFile
{
 //验证码位数
 private $mCheckCodeNum  = 5;
 //产生的验证码
 private $mCheckCode   = '';
 //验证码的图片
 private $mCheckImage  = '';
 //干扰像素
 private $mDisturbColor  = '';
 //干扰线条数
 private $lineNumber=2;
 //验证码的图片宽度
 private $mCheckImageWidth = '55';
 //验证码的图片宽度
 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));
  $this->mCheckCode = strtoupper(substr(rand(),0,$this->mCheckCodeNum));

  $_SESSION['code']=$this->mCheckCode;
  return $this->mCheckCode;
 }
 /**
 *
 * @brief  产生验证码图片
 *
 */
 private function CreateImage()
 {
  $this->mCheckImage = @imagecreate ($this->mCheckImageWidth,$this->mCheckImageHeight);
  imagecolorallocate ($this->mCheckImage, rand(180,255), rand(180,255), rand(180,255));
  return $this->mCheckImage;
 }

 /**
 *
 *创建图片边框
 *参数分别为R G B 三种颜色代码
 *
 */
 private function CreateBorder($_r=140,$_g=140,$_b=230)
 {

  $borderColor=imagecolorallocate($this->mCheckImage,$_r,$_g,$_b);//可以在此改变边框颜色
  imagerectangle($this->mCheckImage,0,0,$this->mCheckImageWidth-1,$this->mCheckImageHeight-1,$borderColor);

 }
 /**
 *
 * @brief  设置图片的干扰像素
 *
 */
 private function SetDisturbColor()
 {
  for ($i=0;$i<10;$i++)
  {
   $this->mDisturbColor = imagecolorallocate ($this->mCheckImage, rand(0,255), rand(0,255), rand(0,255));
   imagesetpixel($this->mCheckImage,rand(0,$this->mCheckImageWidth),rand(0,$this->mCheckImageHeight),$this->mDisturbColor);
   imageString($this->mCheckImage,2,rand(0,50),rand(0,18),"CK  CK  CK ",imageColorAllocate($this->mCheckImage,rand(200,255),rand(200,255),rand(200,255)));     
  }
 }
 /**
 *
 *创建干扰线条
 *
 */
 private function CreateLine()
 {
	for($i=0;$i<2;$i++)//可以修改循环次数改变干扰线条数目
        {
	    $c1=imagecolorallocate($this->mCheckImage,rand(0,255),rand(0,255),rand(0,255));
            $c2=imagecolorallocate($this->mCheckImage,rand(0,255),rand(0,255),rand(0,255));
            $style=array($c1,$c2,$c1,$c2,$c1,$c2,$c1,$c2,$c1,$c1,$c2,);
            imagesetstyle($this->mCheckImage, $style);
            imageline
				(
				$this->mCheckImage,
				rand(0,30),
				rand(0,$this->mCheckImageHeight),
				rand(40,$this->mCheckImageWidth),
				rand(0,$this->mCheckImageHeight),
				IMG_COLOR_STYLED
				);
        }
 }
 /**
 *
 * @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,200), rand(0,100), rand(0,100));
   $x = floor($this->mCheckImageWidth/$this->mCheckCodeNum)*$i+rand(0,3);
   $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 ->CreateLine();
  $this ->CreateBorder();
  $this ->WriteCheckCodeToImage();
  imagepng($this->mCheckImage);
  imagedestroy($this->mCheckImage);
 }
}
$c_check_code_image = new CCheckCodeFile();
$c_check_code_image ->SetCheckImageWH(60,22);//设置显示验证码图片的尺寸
$c_check_code_image ->OutCheckImage();
?>


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -