程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 一個簡單的php圖形驗證碼生成程序

一個簡單的php圖形驗證碼生成程序

編輯:關於PHP編程

生成驗證碼原理相當簡單就是利用mt_rand隨機生成一個數字,然後保存到session中用來用戶登錄時判斷輸入的驗證碼與我們生成的是否一致,然後就是把隨機數字利用php gd函數生成一張圖片,這樣就完成了驗證碼的生成了。  代碼如下 復制代碼

<?php
/**
 *
 * @file imgvcode.php
 * @create date 2007-09-25
 * @copyright (c) 2005 - 2007 eifr.com
 * @license http://www.hzhuti.com/nokia/n97/

 * eifr is free software
 */

session_start();

// main
$vcodes = '';
//generate Number 4
srand((double)microtime()*1000000);
for($i=0;$i<4;$i++){
    $vcodes.=rand(1,9);
}

$_SESSION['eifr_checkvcode'] = $vcodes;

if(function_exists('imagecreate')){
    //generate picture validation code
    Header("Content-type: image/PNG");

    $img = imagecreate(44,18);
    $bg = ImageColorAllocate($img, 245,245,245);
    imagefill($img,0,0,$bg); //background

   
    //generate Number 4
    for($i=0;$i<4;$i++){
        $font = ImageColorAllocate($img, rand(100,255),rand(0,100),rand(100,255));
        $vnum = substr($vcodes, $i, 1);
        imagestring($img, 5, 2+$i*10, 1, $vnum, $font);
    }

    //add interference
    for($i=0;$i<100;$i++)
    {
        $randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($img, rand()%70 , rand()%30 , $randcolor);
    }
    ImagePNG($img);
    ImageDestroy($img);
}

?>

注:php生成驗證碼需要開啟php gd圖片庫哦,要不是不能生成的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved