<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                下面是我今天下午用PHP寫的一個生成圖片驗證碼demo,僅供參考。文章底部提供demo在線預覽地址。 這個demo總共分為4個文件,具體代碼如下: 1、code.html中的代碼: <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>登錄、注冊驗證碼生成</title> </head> <body> <!-- * @Description 網站登錄/注冊驗證碼生成類 * @Author 趙一鳴 * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html * @Date 2016年10月6日 --> <form action="checkcode.php" method="post"> <input type="text" name="code" /><br/> <img src="showcode.php" onclick="this.setAttribute('src','showcode.php?'+Math.random())" /> <span>看不清?點擊圖片即可切換驗證碼</span><br/> <input type="submit" name="sub" value="登錄/注冊" /> </form> </body> </html> 2、createcode.class.php中的代碼: <?php class Createcode{ //畫布資源 public $img; //畫布寬度 private $img_width; //畫布高度 private $img_height; //畫布顏色 private $img_bgcolor; //驗證碼文字內容 private $str_content; //生成的驗證碼內容 private $code_content; //驗證碼顏色 private $code_content_color; //構造函數 public function __construct($img_width,$img_height,$str_content,$code_content_color){ if($this->gdcheck()){ $this->img_width = $img_width; $this->img_height = $img_height; $this->str_content = $str_content; $this->code_content_color = $code_content_color; $this->get_code(); $this->session_code(); } } //生成畫布 public function get_img(){ //定義畫布 $this->img = imagecreatetruecolor($this->img_width, $this->img_height); //畫布背景色 $this->img_bgcolor = imagecolorallocate($this->img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //給畫圖填充背景色 imagefill($this->img, 0, 0, $this->img_bgcolor); //取得畫布的寬高 $img_width = imagesx($this->img); $img_height = imagesy($this->img); //畫布中插入驗證碼 imagestring($this->img, 5, ($this->img_width/3), ($this->img_height/2.5), $this->code_content, imagecolorallocate($this->img, hexdec(substr($this->code_content_color, 1,2)), hexdec(substr($this->code_content_color, 3,2)), hexdec(substr($this->code_content_color, 5,2)))); //畫布中插入像素點 $this->get_pix(); //畫布中插入直線 $this->get_line(); //畫布顯示 header('Content-type:image/png'); imagepng($this->img); } //生成驗證碼 private function get_code(){ $str_content_len = strlen($this->str_content); for($i=0;$i<4;$i++){ $this->code_content .= substr($this->str_content, mt_rand(0,$str_content_len-1),1); } } //生成像素點 private function get_pix(){ for($j=0;$j<300;$j++){ $image_pix .= imagesetpixel($this->img, mt_rand(0,$this->img_width), mt_rand(0,$this->img_height), imagecolorallocate($this->img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255))); } return $image_pix; } //生成直線 private function get_line(){ for($l=0;$l<2;$l++){ $img_line .= imageline($this->img, mt_rand(0,$this->img_width), mt_rand(0,$this->img_height), mt_rand(0,$this->img_width), mt_rand(0,$this->img_height), imagecolorallocate($this->img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255))); } return $img_line; } //session存儲驗證碼 private function session_code(){ session_start(); $_SESSION['code'] = $this->code_content; } //判斷程序是否支持GD庫 private function gdcheck(){ if(extension_loaded('gd')){ return true; }else{ return false; exit(); } } } 3、checkcode.php中的代碼: <?php header('Content-type:text/html;charset="utf-8"'); session_start(); if($_POST['code']!=''){ if($_SESSION['code']==$_POST['code']){ echo '<script type="text/javascript"> alert("驗證碼填寫成功"); history.go(-1); </script>'; }else{ echo '<script type="text/javascript"> alert("驗證碼填寫失敗"); history.go(-1); </script>'; } } 4、showcode.php中的代碼: <?php function __autoload($classname){ include strtolower($classname).'.class.php'; } //定義驗證碼的取值范圍 $str_content = 'abcdefghijklmnopqrstuvwxyz0123456789'; //驗證碼文字顏色 $code_content_color = '#ffffff'; //初始化對象 $code = new Createcode(100,30,$str_content,$code_content_color); $code->get_img();
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看