Skip to content

yangzifun/pandownload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简单网盘下载站

基于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/(或wwwhtdocs之类的Web根目录)之外是最推荐且最安全的做法。这样,用户永远无法通过直接URL访问到你的文件,必须通过download.php脚本。如果无法做到,则需要通过Web服务器配置(如Apache的.htaccess或Nginx配置)来阻止对private_files目录的直接访问。

// config.php (可选,如果文件少可以直接写在脚本中)
<?php
define('DOWNLOAD_DIR', '/path/to/your/project/files/'); // !!! 请替换为你的实际文件路径,确保Web服务器用户有读取权限
?>

部署步骤

  1. 创建目录: 在服务器上创建project/public_htmlproject/public_html/files目录。

  2. 放置文件: 将index.phpdownload.php放入public_html目录。将你要提供下载的文件放入files目录。

  3. 修改路径: 务必index.phpdownload.phpdefine('DOWNLOAD_DIR', '...');的路径修改为你服务器上files目录的绝对路径

  4. 设置权限: 确保Web服务器用户(例如www-dataapache)对private_files目录及其中的文件有读取权限

  5. 配置Web服务器: 如果private_files在Web根目录内,请按照上面的说明配置Apache或Nginx以阻止直接访问。

  6. 测试

    :

    • 访问http://yourdomain.com,应该能看到文件列表。
    • 点击文件链接,验证是否能成功下载。
    • 尝试直接访问http://yourdomain.com?path=files/file1.zip(如果它在Web根目录内),检查是否被拒绝访问。

已实现功能

  • 文件夹文件读取
  • 文件搜索
  • 解析readme.md(仅实现解析内容,未实现展示效果)
  • 展示文件大小
  • 下载计数
  • 权限管理
  • 大文件下载优化

About

简单网盘下载站

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages