国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah 類庫下載 PHP類庫 PHP生成圖片驗(yàn)證碼demo【OOP面向?qū)ο蟀姹尽?/span>

PHP生成圖片驗(yàn)證碼demo【OOP面向?qū)ο蟀姹尽?/h1> Oct 09, 2016 am 09:19 AM


PHP生成圖片驗(yàn)證碼demo【OOP面向?qū)ο蟀姹尽?/p>

下面是我今天下午用PHP寫的一個生成圖片驗(yàn)證碼demo,僅供參考。

這個demo總共分為4個文件,具體代碼如下:

1、code.html中的代碼:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>登錄、注冊驗(yàn)證碼生成</title>
    </head>
    <body>
         <!--
             * @Description  網(wǎng)站登錄/注冊驗(yàn)證碼生成類
             * @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="/static/imghw/default1.png"  data-src="showcode.php"  class="lazy"   onclick="this.setAttribute(&#39;src&#39;,&#39;showcode.php?&#39;+Math.random())" / alt="PHP生成圖片驗(yàn)證碼demo【OOP面向?qū)ο蟀姹尽?quot; >
            <span>看不清?點(diǎn)擊圖片即可切換驗(yàn)證碼</span><br/>
            <input type="submit" name="sub" value="登錄/注冊" />
        </form>
    </body>
</html>

2、createcode.class.php中的代碼:

<?php
    /**
     * @Description  網(wǎng)站登錄/注冊驗(yàn)證碼生成類
     * @Author  趙一鳴
     * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
     * @Date  2016年10月6日 
     */
    class Createcode{
        //畫布資源
        public $img;
        //畫布寬度
        private $img_width;
        //畫布高度
        private $img_height;
        //畫布顏色
        private $img_bgcolor;
        //驗(yàn)證碼文字內(nèi)容
        private $str_content;
        //生成的驗(yàn)證碼內(nèi)容
        private $code_content;
        //驗(yàn)證碼顏色
        private $code_content_color;
        //構(gòu)造函數(shù)
        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);
            //畫布中插入驗(yàn)證碼
            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))));
            //畫布中插入像素點(diǎn)
            $this->get_pix();
            //畫布中插入直線
            $this->get_line();
            //畫布顯示
            header(&#39;Content-type:image/png&#39;);
            imagepng($this->img);
        }
        //生成驗(yàn)證碼
        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);
            }
        }
        //生成像素點(diǎn)
        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存儲驗(yàn)證碼
        private function session_code(){
            session_start();
            $_SESSION[&#39;code&#39;] = $this->code_content;
        }
        //判斷程序是否支持GD庫
        private function gdcheck(){
            if(extension_loaded(&#39;gd&#39;)){
                return true;
            }else{
                return false;
                exit();
            }
        }
    }

3、checkcode.php中的代碼:

<?php
/**
 * @Description  網(wǎng)站登錄/注冊驗(yàn)證碼生成類
 * @Author  趙一鳴
 * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
 * @Date  2016年10月6日
 */
    header(&#39;Content-type:text/html;charset="utf-8"&#39;);
    session_start();
    if($_POST[&#39;code&#39;]!=&#39;&#39;){
        if($_SESSION[&#39;code&#39;]==$_POST[&#39;code&#39;]){
            echo &#39;<script type="text/javascript">
                    alert("驗(yàn)證碼填寫成功");
                    history.go(-1);
                </script>&#39;;
        }else{
            echo &#39;<script type="text/javascript">
                    alert("驗(yàn)證碼填寫失敗");
                    history.go(-1);
                </script>&#39;;
        }
    }

4、showcode.php中的代碼:

<?php
/**
 * @Description  網(wǎng)站登錄/注冊驗(yàn)證碼生成類
 * @Author  趙一鳴
 * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
 * @Date  2016年10月6日
 */
    function __autoload($classname){
        include strtolower($classname).&#39;.class.php&#39;;
    }
    //定義驗(yàn)證碼的取值范圍
    $str_content = &#39;abcdefghijklmnopqrstuvwxyz0123456789&#39;;
    //驗(yàn)證碼文字顏色
    $code_content_color = &#39;#ffffff&#39;;
    //初始化對象
    $code = new Createcode(100,30,$str_content,$code_content_color);
    $code->get_img();

原文地址:http://www.zymseo.com/php/334.html

轉(zhuǎn)載請注明出處!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276