本篇文章主要给大家介绍PHP实现验证码的具体思路方法。
我们在PHP项目开发过程中,关于后台登录界面中的验证码流程,基本是必不可少的,而生成验证码主要就是为了防止恶意注册。
对于PHP新手来说,验证码制作也是一个必学的基础知识点。当然验证码也是有很多,如数字+字母组合验证码、中文验证码、数字验证码、图片验证码等。
下面我们就通过具体的代码示例,为大家介绍简单的数字+字母组合验证码的方法。
首先我们建立三个范围的数组,并且将这三个数组合并成新数组,代码如下:
<?php $shuzi = range(0, 9); $zimuda = range('A', 'Z'); $zimuxiao = range('a', 'z '); $arr = array_merge($shuzi, $zimuxiao, $zimuda); echo "<pre class="brush:php;toolbar:false">"; var_dump($arr);
通过浏览器访问,新数组内容如下:
array (size=62) 0 => int 0 1 => int 1 2 => int 2 3 => int 3 4 => int 4 5 => int 5 6 => int 6 7 => int 7 8 => int 8 9 => int 9 10 => string 'a' (length=1) 11 => string 'b' (length=1) 12 => string 'c' (length=1) 13 => string 'd' (length=1) 14 => string 'e' (length=1) 15 => string 'f' (length=1) 16 => string 'g' (length=1) 17 => string 'h' (length=1) 18 => string 'i' (length=1) 19 => string 'j' (length=1) 20 => string 'k' (length=1) 21 => string 'l' (length=1) 22 => string 'm' (length=1) 23 => string 'n' (length=1) 24 => string 'o' (length=1) 25 => string 'p' (length=1) 26 => string 'q' (length=1) 27 => string 'r' (length=1) 28 => string 's' (length=1) 29 => string 't' (length=1) 30 => string 'u' (length=1) 31 => string 'v' (length=1) 32 => string 'w' (length=1) 33 => string 'x' (length=1) 34 => string 'y' (length=1) 35 => string 'z' (length=1) 36 => string 'A' (length=1) 37 => string 'B' (length=1) 38 => string 'C' (length=1) 39 => string 'D' (length=1) 40 => string 'E' (length=1) 41 => string 'F' (length=1) 42 => string 'G' (length=1) 43 => string 'H' (length=1) 44 => string 'I' (length=1) 45 => string 'J' (length=1) 46 => string 'K' (length=1) 47 => string 'L' (length=1) 48 => string 'M' (length=1) 49 => string 'N' (length=1) 50 => string 'O' (length=1) 51 => string 'P' (length=1) 52 => string 'Q' (length=1) 53 => string 'R' (length=1) 54 => string 'S' (length=1) 55 => string 'T' (length=1) 56 => string 'U' (length=1) 57 => string 'V' (length=1) 58 => string 'W' (length=1) 59 => string 'X' (length=1) 60 => string 'Y' (length=1) 61 => string 'Z' (length=1)
这里主要用到PHP中range函数,其表示根据范围创建数组,包含指定的元素。array_merge函数表示合并一个或多个数组。
然后通过shuffle函数将新数组元素打乱,其KEY值跟随元素被打乱。再通过array_rand函数随机取出原数组的4个key值。最后将原数组的key遍历输出,得到4个随机验证码。代码如下:
<?php $shuzi = range(0, 9); $zimuda = range('A', 'Z'); $zimuxiao = range('a', 'z '); $arr = array_merge($shuzi, $zimuxiao, $zimuda); shuffle($arr); $arr_rand = array_rand($arr, 4); foreach ($arr_rand as $value) { echo $arr[$value]; }
注:
shuffle :打乱数组。
array_rand :从数组中随机取出一个或多个单元
最终通过浏览器访问,每次刷新就会获得新的随机验证码如下:
本篇文章就是关于PHP实现验证码的思路方法具体介绍,非常浅显易懂,希望对需要的朋友有所帮助!
想要了解更多PHP相关知识,各位可以关注PHP中文网PHP视频教程,欢迎大家参考学习!
以上是php验证码怎么实现的?(图文+视频)的详细内容。更多信息请关注PHP中文网其他相关文章!