php完整驗證碼代碼 php 產生驗證碼 php 簡訊驗證碼 php驗證碼代

來源:互聯網
上載者:User
php require_once 'string.func.php';//通過GD庫做驗證碼/** *添加驗證文字 * @param int $type * @param int $length*/function buildRandomString($type=1,$length=4){    $row='';    if($type==1){        $row=join('',range(0, 9));    }elseif($type==2){        $row=join('', array_merge(range('a','z'),range('A', 'Z')));    }elseif($type==3){        $row=join('', array_merge(range('a','z'),range('A', 'Z'),range(0, 9)));    };    $row=str_shuffle($row);       $row=substr($row,0,$length);    return$row;}/** * 產生縮圖 * @param int $type //包含數字或者英文 * @param int $length 多少個字元 * @param int $pixel 幹擾小點的密度 * @param int $dst_h 幹擾線的密度 * @param string //驗證碼在$_SESSION中的名字 */function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name = "verify"){    //session_start();    //建立畫布$width = 100;    $height = 40;    $image = imagecreatetruecolor ( $width, $height );    $white = imagecolorallocate ( $image, 255, 255, 255 );    $black = imagecolorallocate ( $image, 0, 0, 0 );    //用填充矩形填充畫布    imagefilledrectangle ( $image, 1, 1, $width - 2, $height - 2, $white );    $chars = buildRandomString ( $type, $length );    $_SESSION [$sess_name] = $chars;    //$fontfiles = array ("MSYH.TTF", "MSYHBD.TTF", "SIMLI.TTF", "SIMSUN.TTC", "SIMYOU.TTF", "STZHONGS.TTF" );$fontfiles = array ("SIMKAI.TTF" );    //由於字型檔比較大,就只保留一個字型,如果有需要的同學可以自己添加字型,字型在你的電腦中的fonts檔案夾裡有,直接運行輸入fonts就能看到相應字型for($i = 0; $i < $length; $i ++) {        $size = mt_rand ( 14, 18 );        $angle = mt_rand ( - 15, 15 );        $x = 5 + $i * $size;        $y = mt_rand ( 20, 26 );        $fontfile = "../fonts/" . $fontfiles [mt_rand ( 0, count ( $fontfiles ) - 1 )];        $color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );        $text = substr ( $chars, $i, 1 );        imagettftext ( $image, $size, $angle, $x, $y, $color, $fontfile, $text );    }    if ($pixel) {        for($i = 0; $i < 50; $i ++) {            imagesetpixel ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $black );        }    }    if ($line) {        for($i = 1; $i < $line; $i ++) {            $color = imagecolorallocate ( $image, mt_rand ( 50, 90 ), mt_rand ( 80, 200 ), mt_rand ( 90, 180 ) );            imageline ( $image, mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), mt_rand ( 0, $width - 1 ), mt_rand ( 0, $height - 1 ), $color );        }    }    header ( "content-type:image/gif" );    imagegif ( $image );    imagedestroy ( $image );}

主要要點:1、如果前面沒有申明session_start();則需要申明;2、字型可以在cmf輸入fonts下載到自己定義的fonts檔案夾;3、$_SESSION [$sess_name]可以通過$_POST獲得使用者輸入的驗證碼進行比較。

以上就介紹了php完整驗證碼代碼,包括了php,驗證碼方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.