实例介绍
这是一个“即插即用”的 PHP 单文件资源管理器:上传即可浏览、下载当前站点目录下的所有文件与子目录,自带密码登录、路径防越界、人性化体积显示与一键退出,体积不到 5 KB,无数据库、零依赖、开箱即飞。
【核心特性】
- 单文件部署 – 把 index.php 丢到任意目录即可工作,无需数据库、扩展或 Composer。
- 密码保护 – 首次访问弹出登录页,密码在顶部 PASSWORD 常量中自行修改;session 保存,浏览器关闭前免二次验证。
- 安全锁 – realpath str_starts_with 双重校验,杜绝 ../../../ 越界,安心开启,不怕窥探上级目录。
- 实时下载 – 点文件 = 强制下载,自动补全 MIME,大文件也支持流式输出,不占 PHP 内存。
- 友好体积 – 文件大小自动换算为 B/KB/MB/GB,保留两位小数,目录显示 dir,一目了然。
- 返回上级 – 自动识别所在深度,非根目录时显示“⬅ 返回上级”,快速跳转。
- 一键退出 – 右上角“退出”链接销毁 session,立即重新要求密码,公共服务器也能放心交接。
【使用方法】
- 把代码保存为 index.php 并上传到目标目录(或网站根目录)。
- 浏览器访问对应 URL,输入默认密码 123456(建议第一时间改掉)。
- 界面支持深色浅色浏览器自动适配,全端可用;想集成到现有项目只需 include 'index.php'; 即可。
【定制提示】
- 改密码:编辑顶部 const PASSWORD = '你的新密码';
- 改初始目录:把 const ROOT_DIR = __DIR__; 换成任意绝对路径,如 /var/www/files/。
- 调整刷新:文件列表实时读取,无需手动清缓存;如需缓存可在 scandir 处加 usort 或 array_filter 二次处理。
【安全须知】
生产环境务必:
① 更换强密码; ② 把文件放至独立子域或目录,限制 open_basedir; ③ 开启 HTTPS 防中间人。
有了它,再也不用为“临时传个文件、给客户看目录”而装臃肿的 FTP 或网盘程序——一个文件,搞定一切。
| 特性分类 | 具体功能 |
|---|---|
| 安全防护 |
✅ 密码验证机制 ✅ 路径访问限制,防止目录遍历攻击 ✅ 基于open_basedir的根目录隔离 ✅ HTML实体编码,防止XSS攻击 |
| 文件管理 |
✅ 树形目录结构浏览 ✅ 文件下载功能 ✅ 人性化文件大小显示(B/KB/MB/GB/TB) ✅ 支持中文文件名 |
| 用户体验 |
✅ 简洁响应式界面 ✅ 返回上级目录快捷操作 ✅ 退出登录功能 ✅ 无依赖,原生PHP实现 |
| 部署便捷 |
✅ 单文件部署,无需数据库 ✅ 配置简单,仅需设置密码和根目录 ✅ 兼容PHP 7.4 版本 |
【实例截图】

【核心代码】
1. 安全设计
php复制// 路径安全验证 $base = realpath(ROOT_DIR); $path = realpath($base . '/' . ($_GET['p'] ?? '')); if ($path === false || !str_starts_with($path, $base)) { $path = $base; }
- 目录遍历防护:通过realpath()和str_starts_with()严格限制访问范围
- XSS防护:使用htmlspecialchars()对所有输出内容进行编码
- 会话管理:基于PHP Session实现登录状态管理
2. 性能优化
- 原生PHP实现:无需任何框架依赖,资源占用极低
- 智能缓存:使用realpath()获取绝对路径,减少文件系统IO
- 高效排序:使用natcasesort()实现自然排序,中文文件名支持更好
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论