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

php生成驗(yàn)證碼函數(shù)

Original 2017-01-18 13:31:14 281
abstract:php生成驗(yàn)證碼的函數(shù),實(shí)用靠譜。先上下生成的驗(yàn)證碼的效果圖(這里生成的是全數(shù)字的驗(yàn)證碼的示例效果):下面是php生成驗(yàn)證碼的源碼:<?php session_start(); //session_register('CheckCode'); //PHP4.2以上版本不需要用session_register()注冊SESSION變量 $type='gif';

php生成驗(yàn)證碼的函數(shù),實(shí)用靠譜。先上下生成的驗(yàn)證碼的效果圖(這里生成的是全數(shù)字的驗(yàn)證碼的示例效果):

20151020145709950.jpg

下面是php生成驗(yàn)證碼的源碼:

<?php
session_start();
//session_register('CheckCode');
//PHP4.2以上版本不需要用session_register()注冊SESSION變量
$type='gif';
$width= 45;
$height= 20;
header("Content-type: image/".$type);
srand((double)microtime()*1000000);
if(isset($_GET['action'])){
 $randval=randStr(4,$_GET['action']); 
}else{
 $randval=randStr(4,'');
}
if($type!='gif'&&function_exists('imagecreatetruecolor')){
 $im=@imagecreatetruecolor($width,$height);
}else{
 $im=@imagecreate($width,$height);
}
$r=Array(225,211,255,223);
$g=Array(225,236,237,215);
$b=Array(225,236,166,125);
$key=rand(0,3);
$backColor=ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);//背景色(隨機(jī))
$borderColor=ImageColorAllocate($im,127,157,185);//邊框色
$pointColor=ImageColorAllocate($im,255,170,255);//點(diǎn)顏色
@imagefilledrectangle($im,0,0,$width - 1,$height - 1,$backColor);//背景位置
@imagerectangle($im,0,0,$width-1,$height-1,$borderColor); //邊框位置
$stringColor=ImageColorAllocate($im,255,51,153);
for($i=0;$i<=100;$i++){
 $pointX=rand(2,$width-2);
 $pointY=rand(2,$height-2);
 @imagesetpixel($im,$pointX,$pointY,$pointColor);
}
@imagestring($im,5,5,1,$randval,$stringColor);
$ImageFun='Image'.$type;
$ImageFun($im);
@imagedestroy($im);
$_SESSION['CheckCode']=$randval;
function randStr($len=6,$format='ALL'){
 switch($format){
  case 'ALL'://生成包含數(shù)字和字母的驗(yàn)證碼
   $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; break;
  case 'CHAR'://僅生成包含字母的驗(yàn)證碼
   $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; break;
  case 'NUMBER'://僅生成包含數(shù)字的驗(yàn)證碼
   $chars='0123456789'; break;
  default :
   $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; break;
 }
 $string='';
 while(strlen($string)<$len)
 $string.=substr($chars,(mt_rand()%strlen($chars)),1);
 return $string;
}

 該函數(shù)的具體使用方法請看如下這個示例(這里是生成全數(shù)字的驗(yàn)證碼):

<img src="checkCode.php?action=NUMBER" width="45" height="20" />

更多關(guān)于php生成驗(yàn)證碼函數(shù)請關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!    


Release Notes

Popular Entries