PHP中生成验证码

<?php
  //开启SESSION
  session_start();
  $rand_code="";
  //$arr="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
  for($number=0;$number<4;$number++)          //生成随机数字与字母
  {
       //$index=rand(0, strlen($arr)-1);
     //$rand_code.=$arr[$index];
     $rand_code.=dechex(mt_rand(0, 15));      
  }
  $_SESSION['code']=$rand_code;
  header("Content-type:image/gif");  //设置页面格式
  $image=imagecreatetruecolor(100,30); //生成画布
  $bg=imagecolorallocate($image, 255, 255, 255); //定义背景颜色
  imagefill($image, 0, 0, $bg);
  $rand_color=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); //定义随机颜色
  //画随机线条
  for($i=0;$i<6;$i++){
       $color=imagecolorallocate($image,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255)); //定义随机颜色
       imageline($image, mt_rand(1, 90), mt_rand(1, 25), mt_rand(1, 90), mt_rand(1, 25), $color);
  }
  //画噪点
  //for($i=0;$i<50;$i++){
    // $color=imagecolorallocate($image,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100)); //定义随机颜色
     //imagestring($image, 1, mt_rand(1, 90), mt_rand(1, 25), '*', $color);
  //}
 
  for($i=0;$i<strlen($rand_code);$i++){
       $color=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); //定义随机颜色
       imagestring($image,10,mt_rand(5*($i+1), 20*($i+1)),mt_rand(5, 10),$rand_code[$i],$color);      //输出验证码 
  }
  
  imagegif($image);                        //生成图片
?>

贴一段自己写的验证码,以后要用方面查找。

posted @ 2013-06-24 19:12  罗导  阅读(239)  评论(0编辑  收藏  举报