基于PHP 开发,通过Nginx 部署实现简单网盘下载站,文件夹管理文件直接展示,不存在权限管理及文件上传功能。
/path/to/your/project/
├── public_html/ <-- 你的Web服务器根目录
├── index.php <-- 主页,显示文件列表
├── download.php <-- 下载处理器
├── .htaccess <-- (可选,用于IIS等服务器可能有web.config)
└── files/ <-- 存放文件的目录,推荐放在Web根目录之外!
├── file1.zip
├── document.pdf
└── image.jpg
重要提示: 将files/
目录放在public_html/
(或www
、htdocs
之类的Web根目录)之外是最推荐且最安全的做法。这样,用户永远无法通过直接URL访问到你的文件,必须通过download.php
脚本。如果无法做到,则需要通过Web服务器配置(如Apache的.htaccess
或Nginx配置)来阻止对private_files
目录的直接访问。
// config.php (可选,如果文件少可以直接写在脚本中)
<?php
define('DOWNLOAD_DIR', '/path/to/your/project/files/'); // !!! 请替换为你的实际文件路径,确保Web服务器用户有读取权限
?>
-
创建目录: 在服务器上创建
project/public_html
和project/public_html/files
目录。 -
放置文件: 将
index.php
和download.php
放入public_html
目录。将你要提供下载的文件放入files
目录。 -
修改路径: 务必将
index.php
和download.php
中define('DOWNLOAD_DIR', '...');
的路径修改为你服务器上files
目录的绝对路径。 -
设置权限: 确保Web服务器用户(例如
www-data
或apache
)对private_files
目录及其中的文件有读取权限。 -
配置Web服务器: 如果
private_files
在Web根目录内,请按照上面的说明配置Apache或Nginx以阻止直接访问。 -
测试
:
- 访问
http://yourdomain.com
,应该能看到文件列表。 - 点击文件链接,验证是否能成功下载。
- 尝试直接访问
http://yourdomain.com?path=files/file1.zip
(如果它在Web根目录内),检查是否被拒绝访问。
- 访问
- 文件夹文件读取
- 文件搜索
- 解析readme.md(仅实现解析内容,未实现展示效果)
- 展示文件大小
- 下载计数
- 权限管理
- 大文件下载优化