您好,欢迎访问一九零五行业门户网

php ci框架验证码实例分析_PHP

ci框架
php代码:
复制代码 代码如下:
$value)
   {
    $this->$key=$value;
   }
  }
 }
function show()
 {
  header(content-type: image/gif);
  /*
  * 初始化
  */
  $border = 0; //是否要边框 1要:0不要
  $how = $this->num; //验证码位数
  $w = $this->width; //图片宽度
  $h = $this->height; //图片高度
  $fontsize = 5; //字体大小
  $alpha = abcdefghijkmnopqrstuvwxyz; //验证码内容1:字母
  $number = 023456789; //验证码内容2:数字
  $randcode = ; //验证码字符串初始化
  srand((double)microtime()*1000000); //初始化随机数种子
$im = imagecreate($w, $h); //创建验证图片
/*
  * 绘制基本框架
  */
  $bgcolor = imagecolorallocate($im, 255, 255, 255); //设置背景颜色
  imagefill($im, 0, 0, $bgcolor); //填充背景色
  if($border)
  {
   $black = imagecolorallocate($im, 0, 0, 0); //设置边框颜色
   imagerectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
  }
/*
  * 逐位产生随机字符
  */
  for($i=0; $i  {  
   $alpha_or_number = mt_rand(0, 1); //字母还是数字
   $str = $alpha_or_number ? $alpha : $number;
   $which = mt_rand(0, strlen($str)-1); //取哪个字符
   $code = substr($str, $which, 1); //取字符
   $j = !$i ? 4 : $j+15; //绘字符位置
   $color3 = imagecolorallocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
   imagechar($im, $fontsize, $j, 3, $code, $color3); //绘字符
   $randcode .= $code; //逐位加入验证码字符串
  }
/*
  * 添加干扰
  */
  for($i=0; $i  {  
   $color1 = imagecolorallocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色
   imagearc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线
  }  
  for($i=0; $i  {  
   $color2 = imagecolorallocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色
   imagesetpixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点
  }
//把验证码字符串写入session
//$this->session->set_userdata(array($this->name=>$randcode));
$_session[$this->name]=$randcode;
  /*绘图结束*/
  imagegif($im);
  imagedestroy($im);
  /*绘图结束*/
 }
}
?>
调用php代码:
复制代码 代码如下:
    function verify_image() {
        $conf['name'] = 'verify_code'; //作为配置参数
        $this->load->library('lib_captcha', $conf);
        $this->lib_captcha->show();
        $yzm_session = $this->session->userdata('verify_code');
        echo $yzm_session;
    }
html代码:
复制代码 代码如下:
验证码:
换一张
验证码不正确
js代码:
复制代码 代码如下:
其它类似信息

推荐信息