国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

一個PHP寫的登錄驗證碼功能,包含隨機字符函數(shù),和GD庫畫圖函數(shù)

2024-05-04 20:10:55
字體:
來源:轉載
供稿:網友
    一個PHP寫的登錄驗證碼功能,包含隨機字符函數(shù),和GD庫畫圖函數(shù)

    ShowKey.php

<?php
session_start();
//設置COOKIE或Session
function esetcookie($name,$str,$life=0){
//本函數(shù)將字符串 str 全部變小寫字符串使驗證碼輸入不區(qū)分大小寫----在提交表單進行session比較同樣需要次函數(shù)轉化
  $_SESSION[$name]=strtolower($str);
}

//獲取隨機字符 此函數(shù)區(qū)分字符大小寫 如果不區(qū)分大小寫可加入函數(shù)strtolower
function domake_password($len)
{
    $chars = array(
        /*"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",  
        "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",  
        "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",  
        "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",  
        "S", "T", "U", "V", "W", "X", "Y", "Z",*/ "0", "1", "2",  
        "3", "4", "5", "6", "7", "8", "9"
    );
    $charsLen = count($chars) - 1;
    shuffle($chars);// 將數(shù)組打亂
    $output = "";
    for ($i=0; $i<$len; $i++)
    {
        $output .= $chars[mt_rand(0, $charsLen)]; //獲得一個數(shù)組元素
    }  
    return $output;
}

//顯示驗證碼
function ShowKey(){
  $key=domake_password(4);//獲取隨機值
  $set=esetcookie("checkkey",$key);//將隨機值寫入cookie或session
  //是否支持gd庫
  if(function_exists("imagejpeg"))
  {
    header ("Content-type: image/jpeg");
    $img=imagecreate(47,20);
    $blue=imagecolorallocate($img,102,102,102);
    $white=ImageColorAllocate($img,255,255,255);
    $black=ImageColorAllocate($img,71,71,71);
    imagefill($img,0,0,$blue);
    imagestring($img,5,6,3,$key,$white);
    for($i=0;$i<90;$i++) //加入干擾象素
    {
      imagesetpixel($img,rand()%70,rand()%30,$black);
    }
    imagejpeg($img);
    imagedestroy($img);
  }
  elseif (function_exists("imagepng"))
  {
    header ("Content-type: image/png");
    $img=imagecreate(47,20);
    $blue=imagecolorallocate($img,102,102,102);
    $white=ImageColorAllocate($img,255,255,255);
    $black=ImageColorAllocate($img,71,71,71);
    imagefill($img,0,0,$blue);
    imagestring($img,5,6,3,$key,$white);
    for($i=0;$i<90;$i++) //加入干擾象素
    {
      imagesetpixel($img,rand()%70,rand()%30,$black);
    }
    imagepng($img);
    imagedestroy($img);
  }
  elseif (function_exists("imagegif"))
  {
    header("Content-type: image/gif");
    $img=imagecreate(47,20);
    $blue=imagecolorallocate($img,102,102,102);
    $white=ImageColorAllocate($img,255,255,255);
    $black=ImageColorAllocate($img,71,71,71);
    imagefill($img,0,0,$blue);
    imagestring($img,5,6,3,$key,$white);
    for($i=0;$i<90;$i++) //加入干擾象素
    {
      imagesetpixel($img,rand()%70,rand()%30,$black);
    }
    imagegif($img);
    imagedestroy($img);
  }
  elseif (function_exists("imagewbmp"))
  {
    header ("Content-type: image/vnd.wap.wbmp");
    $img=imagecreate(47,20);
    $blue=imagecolorallocate($img,102,102,102);
    $white=ImageColorAllocate($img,255,255,255);
    $black=ImageColorAllocate($img,71,71,71);
    imagefill($img,0,0,$blue);
    imagestring($img,5,6,3,$key,$white);
    for($i=0;$i<90;$i++) //加入干擾象素
    {
      imagesetpixel($img,rand()%70,rand()%30,$black);
    }
    imagewbmp($img);
    imagedestroy($img);
  }
  else
  {
    //不支持驗證碼
    header("content-type:image/jpeg/r/n");
    header("Pragma:no-cache/r/n");
    header("Cache-Control:no-cache/r/n");
    header("Expires:0/r/n");
    $fp = fopen("data/vdcode.jpg","r");  
  }
}
ShowKey();
?>

    調用方法:

<img src="ShowKey.php" name="KeyImg" id="KeyImg"  onClick="KeyImg.src='ShowKey.php?'+Math.random()">  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天长市| 双辽市| 合江县| 塘沽区| 岢岚县| 内黄县| 太保市| 乌鲁木齐县| 湘潭县| 获嘉县| 宕昌县| 阜南县| 鹿邑县| 蓬安县| 琼结县| 南汇区| 营山县| 东山县| 义乌市| 长子县| 海阳市| 舟曲县| 宁阳县| 岳西县| 丹东市| 连云港市| 吉水县| 鹿泉市| 襄城县| 高雄县| 宿松县| 雷州市| 香港| 土默特右旗| 略阳县| 喀喇| 深圳市| 阳高县| 威信县| 浦江县| 嘉鱼县|