https://github.com/yanranxiaoxi/smooth-files-gallery
以最省心的方式搭建文件共享库
https://github.com/yanranxiaoxi/smooth-files-gallery
file-sharing php single-file
Last synced: 12 months ago
JSON representation
以最省心的方式搭建文件共享库
- Host: GitHub
- URL: https://github.com/yanranxiaoxi/smooth-files-gallery
- Owner: yanranxiaoxi
- License: mit
- Created: 2021-02-17T12:13:09.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-09-30T07:25:50.000Z (over 3 years ago)
- Last Synced: 2023-03-06T19:57:05.178Z (over 3 years ago)
- Topics: file-sharing, php, single-file
- Language: JavaScript
- Homepage: https://demo.smoothfilesgallery.soraharu.com
- Size: 4.4 MB
- Stars: 39
- Watchers: 1
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Smooth Files Gallery
⭐ 以最省心的方式搭建文件共享库 ⭐
[](https://www.jsdelivr.com/package/npm/smooth-files-gallery)
## ✨ 特性
- 1️⃣ 单个文件,只需将它放入服务器上的任何目录中
- 🔎 实时搜索和排序文件
- 📃 可实时切换的高级列表和库布局
- 🗺️ 预览照片的 IPTC、EXIF 和 GPS 地图
- ☁️ 使用缓存机制和 CDN 快速加载
- 🌲 高级递归导航显示整个目录结构
- ✒️ 出色的代码高亮,用于查看和编辑代码格式
- 🔐 登录以保护目录访问
- 🔤 多语言界面支持,自动检测浏览器语言
- 📝 在线上传、下载、编辑文件
- 📁 压缩文件夹打包下载(Zip)
- 🌎️ 全景图预览
- 🛠 更多特性开发中
## ✔️ 要求
- PHP 5.5 或更高版本
- PHP 插件
- 启用 PHP [GD](https://www.php.net/manual/book.image.php) 拓展以调整图像大小
- 启用 PHP [EXIF](https://www.php.net/manual/book.exif.php) 拓展以读取图像数据
- PHP `iptcparse()` 读取图像 IPTC 元数据
- PHP `ZipArchive` 用于在下载文件夹中的所有文件时压缩存档
- PHP `mime_content_type()` 或 `finfo_file()` 来获取服务器上的文件 MIME 类型(安全性)
- PHP `exif_imagetype()` 来验证上传的图像(安全性)
- PHP `session_start()` 并正确配置了 `session_save_path` 登录机制
- PHP `ini_get()` 和 `ini_set()` 用于各种功能
- FFmpeg 命令行工具以及用于视频缩略图的 PHP `exec()`
- 足够的 PHP `memory_limit` 来调整图像大小
- PHP `file_uploads` 启用了上传机制
- PHP `upload_max_filesize` 与最大文件上传大小匹配
- PHP [mbstring](https://www.php.net/manual/book.mbstring.php),用于包含具有多字节字符编码的元数据的图像
- 支持所有 **现代浏览器**(无法在 Internet Explorer 上运行)
- 虽然本应用是本地的单个文件,但它仍然需要 **互联网连接** 以从 CDN 加载 JavaScript 与 CSS
## ⚙️ 部署
1. 下载 [index.php](https://gitlab.soraharu.com/XiaoXi/Smooth-Files-Gallery/-/raw/master/index.php?inline=false) 并上传至服务器
2. 你已经完成了部署的所有步骤,现在即可开始使用 😆
## ⚙️ 容器部署
```bash
podman container run \
--detach \
--name=files-gallery \
--quiet \
--replace \
--restart=always \
--tls-verify \
--volume=/dir/files-gallery/config/:/var/www/html/_files/config/ \
--volume=/dir/files-gallery/plugins/:/var/www/html/_files/plugins/ \
--volume=/dir/files-gallery/files/:/var/www/files/ \
--volume=/dir/files-gallery/cache/:/var/www/html/_files/cache/ \
docker.io/yanranxiaoxi/smooth-files-gallery:latest
```
请为 `/dir/files-gallery/config/` 和 `/dir/files-gallery/cache/` 目录赋予写入权限。如若希望使用文件上传功能,则 `/dir/files-gallery/files/` 目录也需要写入权限。
## 📜 开源许可
本项目支持个人及非商业社会团体免费使用所有功能(不可删除授权窗口)。
个人(支持个人商用)及非商业社会团体可支付 **[$2.99]** 获取永久使用授权。
商业用途企业需支付 **[$79]** 以获取永久使用授权。
用于开源项目及公益组织可使用以下授权码:
```
F1-3DOE-FKI4-JMQM-JHUT-1SVV-G0J1
```
该授权码并非永久可用,建议发送邮件请求获取免费的专属使用授权。
基于 [MIT License](https://choosealicense.com/licenses/mit/) 许可进行开源。但包含附加条件,未获取永久使用授权的个人、团体 **不属于** 许可的开源对象。