码迷,mamicode.com
首页 > Web开发 > 详细

PHP_制作验证码

时间:2017-08-03 13:52:04      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:range   rand   utf-8   bsp   shuff   val   mux   验证   header   

PHP制作一个验证码,主要使用数组相关函数

 1 <?php
 2     header("content-type:text/html;charset=UTF-8");
 3     //建立3个范围数组
 4     $shuzi = range(0,9);
 5     $zimuda = range(‘A‘,‘Z‘);
 6     $zimuxiao = range(‘a‘,‘z ‘);
 7 
 8     //将这3个数组合并成新数组
 9     $arr=array_merge($shuzi,$zimuxiao,$zimuda);
10 
11     //遍历新数组
12     foreach ($arr as $key => $value) {
13         //如果新数组里的元素包含下面的字,则将其删除(unset);
14         if($value == ‘0‘ || $value == ‘1‘ ||$value == ‘2‘ ||$value == ‘o‘  ||$value == ‘O‘ 
15             ||$value == ‘I‘ ||$value == ‘i‘ ||$value == ‘Z‘ ||$value == ‘z‘ ||$value == ‘l‘){
16             //删除键,值也随之删除
17             unset ($arr[$key]);
18             }
19         }
20 
21     //将数组 元素打乱,其KEY值跟随元素被打乱
22     shuffle($arr);
23     //随机取出原数组的4个key值
24     $arr_rand = array_rand($arr,4);
25     //将原数组的key遍历输出,得到4个随机验证码
26     foreach ($arr_rand as $value) {
27         echo $arr[$value];
28     }
29 
30     //优化一下:0,1,2这3个数原本就需要排除,刚好在数组最前、连续,在定义范围数组的时候可以不写,直接从3开始,减少if判断;大小写字母Z在最后也可以不写

 

PHP_制作验证码

标签:range   rand   utf-8   bsp   shuff   val   mux   验证   header   

原文地址:http://www.cnblogs.com/bk233/p/7278927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!