一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 6108|回复: 1
打印 上一主题 下一主题

如何制作PHP验证码

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-4-3 04:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHP制作一个验证码,主要使用数组相关函数

<?php
    header("content-type:text/html;charset=UTF-8");
    //建立3个范围数组
    $shuzi = range(0,9);
    $zimuda = range('A','Z');
    $zimuxiao = range('a','z ');

    //将这3个数组合并成新数组
    $arr=array_merge($shuzi,$zimuxiao,$zimuda);

    //遍历新数组
    foreach ($arr as $key => $value) {
        //如果新数组里的元素包含下面的字,则将其删除(unset);
        if($value == '0' || $value == '1' ||$value == '2' ||$value == 'o'  ||$value == 'O' 
            ||$value == 'I' ||$value == 'i' ||$value == 'Z' ||$value == 'z' ||$value == 'l'){
            //删除键,值也随之删除
            unset ($arr[$key]);
            }
        }

    //将数组 元素打乱,其KEY值跟随元素被打乱
    shuffle($arr);
    //随机取出原数组的4个key值
    $arr_rand = array_rand($arr,4);
    //将原数组的key遍历输出,得到4个随机验证码
    foreach ($arr_rand as $value) {
        echo $arr[$value];
    }

    //优化一下:0,1,2这3个数原本就需要排除,刚好在数组最前、连续,在定义范围数组的时候可以不写,直接从3开始,减少if判断;大小写字母Z在最后也可以不写

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

16

帖子

50

积分

注册会员

Rank: 2

积分
50
沙发
发表于 2022-9-17 13:50 | 只看该作者
电影源代码深度解析
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表