PHP随机码生成器源码

2025年06月08日 更新于 2025年06月10日
改源码用AI生成
文章图片

一、核心功能概述

该源码实现了一个 四位数随机码生成系统,具备以下核心能力:

  1. 生成唯一随机码:每次点击按钮生成不重复的 4 位随机码(数字 + 大小写字母混合)。
  2. 存储与管理:将生成的随机码及其生成时间保存到文件中,支持历史记录查询和统计。
  3. 友好的用户界面:通过 HTML/CSS 实现响应式设计,包含导航栏、生成按钮、历史记录表格和统计信息。

二、技术栈与文件结构

  • 后端:PHP(处理逻辑、文件操作)。
  • 前端:HTML/CSS(界面布局与样式)、JavaScript(交互效果,如复制功能、导航栏滚动效果)。
  • 存储:文本文件 codes.txt(存储随机码和生成时间)。

三、关键功能模块分析

1. 随机码生成逻辑

  • 字符集:
    使用 0-9、a-z、A-Z 共 62 个字符,可生成 \(62^4 = 14,776,336\) 种组合。
    
  • 生成函数
    function generateRandomCode() {
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $code = '';
        for ($i = 0; $i < 4; $i++) {
            $code .= $characters[rand(0, strlen($characters) - 1)]; // 随机选取字符
        }
        return $code;
    }
    
  • 唯一性校验:通过 getUniqueCode 函数确保新生成的码不在已存在的列表中,避免重复。

2. 文件存储与读取

  • 存储格式:每行存储一个随机码及其生成时间,格式为 CODE|YYYY-MM-DD HH:mm:ss,例如:
  • Ab34|2025-06-08 12:34:56
    Xy78|2025-06-08 12:35:10
    
  • 读取函数:
    
    function readExistingCodes() {
        // 从文件读取内容并解析为数组,包含 code、datetime、timestamp(时间戳用于排序)
    }
    
    
  • 写入函数:使用 FILE_APPEND 模式追加新记录,确保文件操作的原子性和安全性。

3. 前端界面设计

  • 导航栏:显示已生成的随机码总数,滚动时添加毛玻璃效果(scrolled 类)。
  • 生成卡片:包含大字体显示当前随机码、生成按钮,支持点击复制功能(JavaScript 实现)。
  • 历史记录表格:显示最近 10 条记录,按生成时间倒序排列,包含序号、随机码、格式化时间。
  • 统计信息:
    • 总生成数量:直接统计文件中的记录数。
    • 上次更新时间:取最新记录的时间。
    • 可用组合数:计算剩余可生成的组合数(624- 已生成数量)。

4. 交互功能

  • 复制随机码:点击随机码区域,通过navigator.clipboard 实现复制,并弹出提示框。
  • 导航栏滚动效果:通过 JavaScript 监听滚动事件,动态切换类名实现背景模糊效果。
  • 提示消息:使用固定定位的 toast 提示框,显示复制成功等信息,3 秒后自动消失。
点击下载

关于博主

L

LBZCC的博主

热爱写作与分享

欢迎来到我的个人博客!这里记录我的思考、经验和生活点滴。希望我的文章能给您带来一些启发或帮助。

分享文章