首页 >每日编程 >PHP知识 > 正文

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

原创2018-10-12 13:43:4703324
本篇文章主要给大家介绍PHP实现验证码的具体思路方法。

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

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

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

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

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

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

01ba0e7debfebe62d9c43686b5aad39.png

719677efcc3366bccda650483d45ef5.png

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

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

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

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP 验证码
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP 零基础入门教程PHP 零基础入门教程
  • 新版php入门教程新版php入门教程
  • PHP 新手入门教程PHP 新手入门教程
  • PHP快速入门免费教程PHP快速入门免费教程
  • 视频教程分类