澳门新葡亰平台游戏网站php生成中文验证码程序

?phpsession_start();# 获得自由字符function getRandStr($length = 4,
$mode = 1卡塔尔{$str1 = ‘123456789’;$str2 =
‘abcdefghijklmnopqrstuvwxyz’;$str3 = ‘ABCDEFGHIJKLMNPQ安德拉STUVWXYZ’;$str4 =
‘_’;$str5 = ‘`~!@#$%^*()-+=/|{}[];:’,./?’;$str6 =
‘孙继海立功了不要给马来人此外时机伟大的神州右后卫他世袭中华民族的光荣守旧董存瑞黄继光秋少云在这里一阵子灵魂突起孙继海壹人她意味着了中华民族足球悠久的历史观在这一阵子她不是一人的应战他不是一人李毅大帝直面那么些点球他面前碰到的是全球中黄炎子孙民共和国看球的粉丝的秋波和期望川口能活以前在附加赛在那之中FIFA World Cup预选塞的附加赛此中扑出过无数个点球大帝料定深知那点他仍可以够够微笑着面临她前边的这厮吧分钟现在她会是怎么的神色球进了比赛截至了中夏族民共和国队队得到了凯旋东瀛队他们并未再壹回的到在济科的先头伟大的中国远大的中华夏族民共和国队的右后卫喵咪后天寿辰欢畅中国万岁日本队大概会后悔的济科他在下全场多打一位的气象下打得中国太平洋保障公司守太沉稳了她失去了本人的勇气面对中国足球持久的野史和古板他没有在拿出小组赛这样冲撞门将的作风终于自愧不及他们该回家了他们不用回遥远的东瀛因为他们会选用公共剖腹自寻短见拜拜’;

英特网有为数不菲的php随机数与验证码的代码与篇章,真正适用的从未有过多少个。

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

简直自身搞多个吗。

case ‘1’: $str = $str1; break;

始发本节的php教程 呢,以下代码的兑现,主要成就能够很好界别三个get_code(),另一个create_check_image(卡塔尔,输出图像直接调用后边的,session(卡塔尔(قطر‎取验证码时一向get_code(卡塔尔(قطر‎就ok,顺带提下使用session时必得定会将session_star(卡塔尔国放在最前方。

case ‘2’: $str = $str2; break;

代码如下:

case ‘3’: $str = $str3; break;

[php] view
plain澳门新葡亰平台游戏网站,copy

case ‘4’: $str = $str2.$str3; break;

  1. <?php  
  2. class RandCheckCode  
  3. {  
  4.         /*函数名称:get_code() 
  5.         *效果:获得自由字符串 
  6.         * 参数: 
  7.         1、(int)$length = 32 #私下字符长度 
  8.         2、(int)$mode = 0    #自便字符类型, 
  9.         0为大小写德文和数字,1为数字,2为小写字母,3为大写字母, 
  10.         4为大小写字母,5为大写字母和数字,6为小写字母和数字 
  11.         *归来:得到的字符串 
  12.         */  
  13.         function get_code($length=32,$mode=0卡塔尔//获取随机验证码函数  
  14.         {  
  15.                 switch ($mode)  
  16.                 {  
  17.                         case ‘1’:  
  18.                                 $str=’123456789′;  
  19.                                 break;  
  20.                         case ‘2’:  
  21.                                 $str=’abcdefghijklmnopqrstuvwxyz’;  
  22.                                 break;  
  23.                         case ‘3’:  
  24.                                 $str=’ABCDEFGHIJKLMNOPQRSTUVWXYZ’;  
  25.                                 break;  
  26.                         case ‘4’:  
  27.                                 $str=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’;  
  28.                                 break;  
  29.                         case ‘5’:  
  30.                                 $str=’ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890′;  
  31.                                 break;  
  32.                         case ‘6’:  
  33.                                 $str=’abcdefghijklmnopqrstuvwxyz1234567890′;  
  34.                                 break;  
  35.                         default:  
  36.                                 $str=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890′;  
  37.                                 break;  
  38.                 }  
  39.                 $checkstr=”;  
  40.                 $len=strlen($str)-1;  
  41.                 for ($i=0;$i<$length;$i++)  
  42.                 {  
  43.                         //$num=rand(0,$len卡塔尔;//发生叁个0到$len之间的随便数  
  44.                         $num=mt_rand(0,$len卡塔尔国;//产生叁个0到$len之间的轻便数  
  45.                         $checkstr.=$str[$num];  
  46.                          
  47.                          
  48.                 }  
  49.                 return $checkstr;  
  50.         }  
  51.            
  52. /**     函数名称:create_check_image() 
  53.         函数效能:产生叁个校验码的图片 
  54.         参    数:$checkcode:校验码字符串 
  55.         返 回 值:再次来到该图形 
  56. */  
  57.         function create_check_image($checkcode卡塔尔国//发生叁个  
  58.         {  
  59.                 $im=imagecreate(65,22卡塔尔国;//爆发三个图形  
  60.                 $black=imagecolorallocate($im,0,0,0卡塔尔(قطر‎;//背景颜色  
  61.                 $white=imagecolorallocate($im,255,255,255卡塔尔(قطر‎;//前程颜色  
  62.                 $gray=imagecolorallocate($im,200,200,200);  
  63.                 imagefill($im,30,30,$grayState of Qatar;//在$im图像的坐标30,30(图像左上角为0,0卡塔尔(قطر‎处用$gray 颜色实行区域填充(即与30,30点颜色雷同且相近的点都会被填充卡塔尔国  
  64.                  
  65.                 imagestring($im,5,8,3,$checkcode,$whiteState of Qatar;//用$white颜色将字符串$checkcode画到$im 所表示的图像的8,3坐标处(那是字符串左上角坐标,整幅图像的左上角为0,0卡塔尔(قطر‎,5是字体大小, 字体只可以是1,2,3,4或5,使用内置字体  
  66.                 for ($i=0;$i<120;$i++)  
  67.                 {  
  68.                         $randcolor=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));  
  69.                         imagesetpixel($im,rand(卡塔尔%70,rand(State of Qatar%30,$randcolorState of Qatar;//在$im图象上用$randcolor颜色在(rand(State of Qatar%70,rand(卡塔尔(قطر‎%30State of Qatar坐标(图像左上角为0,0State of Qatar上画三个点  
  70.                 }  
  71.                 header(“Content-type:image/png”);  
  72.                 imagepng($im卡塔尔(قطر‎;//以PNG格式将图像输出到浏览器或文件  
  73.                 imagedestroy($im卡塔尔;//销毁图像$im  
  74.         }  
  75. }  
  76. /* 
  77. $randcode=new RandCheckCode(); 
  78. $checkstring=$randcode->get_code(5,7); 
  79. $image=$randcode->create_check_image($checkstring); 
  80. echo $image; 
  81. */  
  82.   
  83. ?>  

case ‘5’: $str = $str1.$str2; break;

参照链接:
php点击验证码实时刷新的落到实处代码
php验证码刷新与部分刷新的兑现格局

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;$i80;$i++)#
参预压抑象素 { $randcolor =
ImageColorallocate($im,rand(0,255卡塔尔国,rand(0,255卡塔尔(قطر‎,rand(0,255卡塔尔国State of Qatar;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)?

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图