php產生中文驗證碼程式

來源:互聯網
上載者:User

<?php
session_start();
# 取得隨機字元
function getRandStr($length = 4, $mode = 1)
{
 $str1 = '123456789';
 $str2 = 'abcdefghijklmnopqrstuvwxyz';
 $str3 = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';
 $str4 = '_';
 $str5 = '`~!@#$%^&*()-+=\|{}[];:'",./?';
 $str6 = '孫繼海立功了不要給日本人任何機會偉大的中國右後衛他繼承中華民族的光榮傳統董存瑞黃繼光秋少雲在這一刻靈魂突起孫繼海一個人他代表了中華民族足球悠久的傳統在這一刻他不是一個人的戰鬥他不是一個人李毅大帝面對這個十二碼他面對的是全世界中國球迷的目光和期待川口能活曾經在附加賽當中世界盃預選塞的附加賽當中撲出過無數個十二碼大帝肯定深知這一點他還能夠微笑著面對他面前的這個人嗎秒鐘以後他會是怎麼的表情球進了比賽結束了中國隊隊獲得了勝利日本隊他們沒有再一次的到在濟科的面前偉大的中華人民共和國偉大的中國隊的右後衛小貓今天生日快樂中華人民共和國萬歲日本隊也許會後悔的濟科他在下半場多打一人的情況下打得太保守太沉穩了他失去了自己的勇氣面對中國足球悠久的曆史和傳統他沒有在拿出小組賽那樣衝撞門將的作風終於自慚形穢他們該回家了他們不用回遙遠的日本因為他們會選擇集體剖腹自殺再見';

 switch ($mode)
 {
  case '0':
    $str = $str1.$str2.$str3.$str4;
    break;

  case '1':
    $str = $str1;
    break;

  case '2':
    $str = $str2;
    break;

  case '3':
    $str = $str3;
    break;

  case '4':
    $str = $str2.$str3;
    break;

  case '5':
    $str = $str1.$str2;
    break;

  case '6':
    $str = $str1.$str3;
    break;

  case '7':
    $str = $str1.$str2.$str3;
    break;

  case '8':
    $str = $str1.$str2.$str3.$str4.$str5;
    break;
  case '9':
    $str = $str6;
    break;
  default :
    $str = $str1.$str2.$str3.$str4;
    break;
 }

 $result = "";

 if($mode==9)
 {
  $tmp1 = $length/2;
  $tmp = explode(".",strlen($str)/2);
  for ($i = 0 ; $i < $tmp1 ; $i++)
  {
   $result .= Substr($str,mt_rand(0,$tmp[0])*2-$length,2);
  }
 }
 else
 {
  for ($i = 0 ; $i < $length ; $i++)
  {
   $result .= $str[mt_rand(0 , strlen($str) - 1)];
  }
 }
 return $result;
}

##
# 產生驗證碼圖片
#
function createAuthNumImg($randStr,$isGB=false)
{
 Header("Content-type: image/PNG");

 $im  = imagecreate(50,20);
 $black = ImageColorAllocate($im, 0,0,0);
 $white = ImageColorAllocate($im, 255,255,255);
 $gray = ImageColorAllocate($im, 0,100,150);
 imagefill($im,50,19,$gray);
 
 for($i=0;$i<80;$i++) # 加入幹擾象素
 {
  $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  imagesetpixel($im, rand()%50 , rand()%19 , $randcolor);
 }

 if($isGB!=false) # 採用中文驗證碼
 {
  require_once("GB2312toUTF8.inc.php"); 
  $GB2312toUTF = new GB2312toUTF8();
  imagettftext($im, 10, 5, 5, 16, $white, "simsun.ttc", $GB2312toUTF->gb2utf8($randStr));
 }
 else imagestring($im, 8, 8, 3, $randStr, $white); # 將驗證碼繪入圖片

 ImagePNG($im);
 ImageDestroy($im);

 $_SESSION['chknum'] = $randStr; # 儲存驗證碼
}
$m =$_GET["m"];
if(empty($m)) {
 $m=9;
}
createAuthNumImg(getRandStr("6",$m),1)
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.