阅后自焚文件分享 上传文件并设置访问次数,达到次数后或者24小时后自动销毁
阅后自焚的文件分享系统:支持图片、压缩包、安装包、文档等文件上传,可设置访问次数,达到次数或 24 小时后自动销毁。
阅后自焚文件分享
上传文件并设置访问次数,达到次数后或者24小时后自动销毁
支持文件类型:图片(JPG/PNG/GIF/WEBP)、压缩包(ZIP/RAR)、安装包(EXE/APK/IPA)、文档(DOC/DOCX)






项目概述
这是一个基于PHP的临时文件分享系统,支持文件上传、访问次数限制和24小时自动销毁功能。
文件结构分析
STORAGE_DIR: 文件存储目录
DB_FILE: JSON数据库文件路径
MAX_VIEWS_MIN/MAX: 访问次数限制范围
核心功能模块
文件上传处理
支持的文件类型:
图片: JPG, JPEG, PNG, GIF, WEBP
压缩包: ZIP, RAR
可执行文件: EXE, APK, APKX, IPA
文档: DOC, DOCX
验证机制: MIME类型 + 文件扩展名双重验证
文件命名:
{token}_{原文件名}格式访问控制系统
时间限制: 24小时自动过期
次数限制: 1-999次可配置访问次数
访问统计: 实时计数和剩余次数显示
数据存储
"filename": "存储文件名", "max_views": "最大访问次数", "views": "当前访问次数", "created": "创建时间戳"
核心函数详解
数据库操作
loadDatabase(): 加载JSON数据库saveDatabase($data): 保存数据到JSON文件
清理机制
cleanupExpiredFiles(): 清理24小时过期文件自动删除过期文件和数据库记录
页面渲染
renderSharePage($entry, $token): 文件分享页面renderExpiredPage($message): 过期提示页面renderInvalidLinkPage(): 无效链接页面
工具函数
formatFileSize($bytes): 文件大小格式化getFileIcon($ext): 文件类型图标配置isImageFile($ext): 图片文件判断adjustBrightness($hex, $percent): 颜色亮度调整
UI设计特色
现代化配色方案
主色调: 蓝紫色渐变 (667eea → 764ba2 → f093fb)
背景: 对角线渐变 (f5f7fa → c3cfe2)
卡片: 半透明白色 + 毛玻璃效果
阴影系统: 三级阴影效果 (light/medium/large)
交互体验
悬停效果: 按钮和卡片的平滑过渡动画
响应式设计: 移动端适配优化
视觉反馈: 文件类型图标和进度指示
安全机制
文件验证
MIME类型白名单验证
文件扩展名检查
上传错误处理
访问控制
唯一token生成 (32位十六进制)
时间和次数双重限制
自动清理过期文件
目录权限
存储目录权限设置 (0700)
自动创建必要目录
功能特性
文件分享页面
文件信息展示 (名称、大小、类型)
剩余访问次数显示
剩余时间倒计时 (小时/分钟)
一键下载功能
图片预览模态框
用户界面
拖拽上传支持
访问次数计数器
实时文件类型提示
美观的错误提示页面
技术栈
后端: 纯PHP (无框架依赖)
前端: HTML5 + CSS3 + JavaScript
存储: JSON文件数据库
样式: Font Awesome 图标库
特效: CSS3动画 + 毛玻璃效果
文件组织
aa/
├── index.php 主程序文件
├── database.json JSON数据库
└── storage/ 文件存储目录
└── {token}_{filename}工作流程
上传: 文件验证 → 生成token → 存储文件 → 记录数据库
访问: token验证 → 时间检查 → 次数检查 → 计数增加 → 页面渲染
下载: 访问验证 → 文件传输 → 达到限制时自动删除
清理: 定期检查 → 删除过期文件 → 更新数据库
这个系统设计简洁高效,具有完整的文件分享、访问控制和自动清理功能,适合临时文件分享场景使用。
| 商品名称 | 阅后自焚文件分享 上传文件并设置访问次数,达到次数后或者24小时后自动销毁 |
|---|---|
| 商品分类 | 网站源码 |
| 商品类型 | 虚拟商品 |
| 发货方式 | 自动发货 |
| 剩余可售 | 不限 |