首页 >每日编程 >PHP知识 >php验证码怎么实现的?(图文+视频)

php验证码怎么实现的?(图文+视频)

藏色散人
藏色散人原创
2018-10-12 13:43:484948浏览

本篇文章主要给大家介绍PHP实现验证码的具体思路方法。

我们在PHP项目开发过程中,关于后台登录界面中的验证码流程,基本是必不可少的,而生成验证码主要就是为了防止恶意注册。

对于PHP新手来说,验证码制作也是一个必学的基础知识点。当然验证码也是有很多,如数字+字母组合验证码、中文验证码、数字验证码、图片验证码等。

下面我们就通过具体的代码示例,为大家介绍简单的数字+字母组合验证码的方法。

首先我们建立三个范围的数组,并且将这三个数组合并成新数组,代码如下:

<?php
$shuzi = range(0, 9);
$zimuda = range(&#39;A&#39;, &#39;Z&#39;);
$zimuxiao = range(&#39;a&#39;, &#39;z &#39;);
$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 &#39;a&#39; (length=1)
  11 => string &#39;b&#39; (length=1)
  12 => string &#39;c&#39; (length=1)
  13 => string &#39;d&#39; (length=1)
  14 => string &#39;e&#39; (length=1)
  15 => string &#39;f&#39; (length=1)
  16 => string &#39;g&#39; (length=1)
  17 => string &#39;h&#39; (length=1)
  18 => string &#39;i&#39; (length=1)
  19 => string &#39;j&#39; (length=1)
  20 => string &#39;k&#39; (length=1)
  21 => string &#39;l&#39; (length=1)
  22 => string &#39;m&#39; (length=1)
  23 => string &#39;n&#39; (length=1)
  24 => string &#39;o&#39; (length=1)
  25 => string &#39;p&#39; (length=1)
  26 => string &#39;q&#39; (length=1)
  27 => string &#39;r&#39; (length=1)
  28 => string &#39;s&#39; (length=1)
  29 => string &#39;t&#39; (length=1)
  30 => string &#39;u&#39; (length=1)
  31 => string &#39;v&#39; (length=1)
  32 => string &#39;w&#39; (length=1)
  33 => string &#39;x&#39; (length=1)
  34 => string &#39;y&#39; (length=1)
  35 => string &#39;z&#39; (length=1)
  36 => string &#39;A&#39; (length=1)
  37 => string &#39;B&#39; (length=1)
  38 => string &#39;C&#39; (length=1)
  39 => string &#39;D&#39; (length=1)
  40 => string &#39;E&#39; (length=1)
  41 => string &#39;F&#39; (length=1)
  42 => string &#39;G&#39; (length=1)
  43 => string &#39;H&#39; (length=1)
  44 => string &#39;I&#39; (length=1)
  45 => string &#39;J&#39; (length=1)
  46 => string &#39;K&#39; (length=1)
  47 => string &#39;L&#39; (length=1)
  48 => string &#39;M&#39; (length=1)
  49 => string &#39;N&#39; (length=1)
  50 => string &#39;O&#39; (length=1)
  51 => string &#39;P&#39; (length=1)
  52 => string &#39;Q&#39; (length=1)
  53 => string &#39;R&#39; (length=1)
  54 => string &#39;S&#39; (length=1)
  55 => string &#39;T&#39; (length=1)
  56 => string &#39;U&#39; (length=1)
  57 => string &#39;V&#39; (length=1)
  58 => string &#39;W&#39; (length=1)
  59 => string &#39;X&#39; (length=1)
  60 => string &#39;Y&#39; (length=1)
  61 => string &#39;Z&#39; (length=1)

这里主要用到PHP中range函数,其表示根据范围创建数组,包含指定的元素。array_merge函数表示合并一个或多个数组。

然后通过shuffle函数将新数组元素打乱,其KEY值跟随元素被打乱。再通过array_rand函数随机取出原数组的4个key值。最后将原数组的key遍历输出,得到4个随机验证码。代码如下:

<?php
$shuzi = range(0, 9);
$zimuda = range(&#39;A&#39;, &#39;Z&#39;);
$zimuxiao = range(&#39;a&#39;, &#39;z &#39;);
$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 :从数组中随机取出一个或多个单元    

最终通过浏览器访问,每次刷新就会获得新的随机验证码如下:

01ba0e7debfebe62d9c43686b5aad39.png

719677efcc3366bccda650483d45ef5.png

本篇文章就是关于PHP实现验证码的思路方法具体介绍,非常浅显易懂,希望对需要的朋友有所帮助!

想要了解更多PHP相关知识,各位可以关注PHP中文网PHP视频教程,欢迎大家参考学习!

以上是php验证码怎么实现的?(图文+视频)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn