玛朵图仓 (MatorrIMG) 是一款由 Jeffer.Z 撰写、专为个人用户设计的轻量级图床应用。
它的核心设计理念是 “极致的便携性” 与 “开箱即用”。基于 PHP
+ SQLite
的黄金组合,整个网站可以被轻松打包、备份,并 “拖拽” 至任何支持 PHP 环境的服务器上,无需复杂的安装和数据库配置,让你随时随地拥有和迁移自己的在线图片库。
✨ 核心特性
- 🚀 高效上传:支持拖拽、点击、粘贴多种方式上传图片,简洁高效。
- ⚙️ 强大压缩:内置灵活的图片压缩引擎,可自定义压缩质量、尺寸、格式,在保证清晰度的同时,有效节省存储和流量。
- 📦 无损备份:支持在压缩图片的同时,自动备份一份原始图片,确保珍贵原图万无一失。
- 🖼️ 灵活画廊:可一键开启或关闭前台公开画廊,作为私密图床或公开分享相册,随心切换。
- 🏷️ 分组与标签:通过分组和标签系统,轻松对图片进行分类和归档,管理海量图片也游刃有余。
- 📊 全面后台:提供一个直观的管理后台,包含仪表盘、图片管理、分组管理、标签管理和系统设置等全套功能。
- 🔧 一键式维护:集成了多种实用维护工具,如清空 / 重建压缩图、清理日志、重置数据等,管理图床状态易如反掌。
- 🗃️ 整站便携:得益于 PHP 与 SQLite,整个应用就是一个文件夹,备份和迁移只需复制粘贴,无需导出导入数据库。
- 原始访问:可以设置访问压缩图片还是访问原始图片。
🚀 快速上手
部署玛朵图仓非常简单,只需三步:
- 上传文件:将项目所有文件上传到您的 PHP 网站服务器。
- 设置网站目录:将您的 Web 服务器(如 Nginx 或 Apache)的网站根目录(Document Root)指向本项目下的
public
文件夹。这是为了安全,避免项目源代码和配置文件通过 URL 直接暴露。 - 设置权限:确保服务器对项目根目录下的
storage
目录和public/uploads
目录拥有写入权限。
首次登录与安全设置
部署完成后,请立即进行安全设置:
- 访问后台:通过
http://你的域名/admin
访问管理后台。 - 使用默认凭据登录:
- 用户名:
matorrimg
- 密码:
matorrimg123
- 用户名:
- 修改密码:
- 登录成功后,系统会自动跳转到仪表盘。
- 请立即进入左侧菜单的 【系统设置】 -> 【安全设置】 选项卡。
- 输入您的新密码并保存。
⚠️ 安全警告:
为了您的资产安全,请务必在第一次登录后立即修改默认密码!
🛠️ 功能使用指南
1. 仪表盘
登录后台后的默认页面,这里展示了系统的核心统计数据,包括各类图片数量、存储空间占用、最近上传的图片等,让您对图床状态一目了然。
2. 上传图片
点击顶部导航栏的 “上传” 按钮进入上传页面。您可以直接将图片文件拖拽到上传区域,或点击选择文件。上传时,可以根据【系统设置】中的配置,选择是否当次上传启用压缩。
3. 图片、分组与标签管理
- 图片管理:集中管理所有已上传的图片。您可以进行搜索、编辑图片的标题 / 描述 / 分组 / 标签,或者删除图片。
- 分组管理:创建、编辑或删除图片分组。分组可以帮助您结构化地管理图片集。
- 标签管理:创建、编辑或删除标签。标签为图片提供了更灵活的分类方式。
4. 系统设置
这是图床的 “大脑”,所有核心功能都在此配置。
- 系统信息:查看应用版本、PHP 版本、上传限制和存储统计等信息。
- 安全设置:修改管理员登录密码。
- 画廊设置:控制前台画廊(
/gallery
)是否对游客开放。 - 压缩设置:配置全局的图片压缩选项,包括默认压缩质量、目标尺寸、是否强制转为 JPG、是否默认开启压缩等。
- 数据管理:
- 危险操作区:提供 “重置所有图片数据” 功能,此操作会清空所有图片及记录,请极度谨慎使用。
- 日志管理:显示当前日志文件占用的总空间,并提供 “一键清空日志” 按钮,方便您在需要时释放服务器空间。
- 图片维护:
- 清空压缩图:删除所有由系统生成的压缩图和缩略图,但保留原始图片。
- 重新生成压缩图:当您更改了压缩设置后,可以使用此功能根据新设置为所有原始图片批量生成新的压缩图。支持按日期范围生成。
💻 技术栈
- 后端:PHP 8.x,推荐 8.4
- 数据库:SQLite
- 前端:原生 JavaScript、CSS
运行环境要求
必需 PHP 扩展
为了保证玛朵图仓的所有功能正常运行,请确保您的 PHP 环境中安装并启用了以下扩展:
- PDO_SQLite: 用于驱动数据库,是程序运行的基石。
- GD 或 ImageMagick: 用于处理图片,包括压缩、缩放和生成缩略图。推荐使用
GD
。 - FileInfo: 用于准确识别上传文件的 MIME 类型,是安全性的重要保障。
- mbstring: 用于处理多字节字符,确保标题、描述等信息能正确显示。
- JSON: 用于处理 API 请求的响应数据。
常见问题排查
在开始排查前,建议您先访问项目根目录下的 check-env.php
文件(例如 http://你的域名/check-env.php
),它会提供一份直观的环境检测报告,帮助您快速定位问题。
问题:图片上传失败,或提示 “文件类型不支持”,或压缩功能异常。
这通常是由于 FileInfo
或 GD
/ ImageMagick
扩展未正确启用导致的。尤其是在使用一些服务器管理面板(如宝塔面板)时,一些低配置服务器(2c2g)扩展可能被默认禁用或在配置文件中未开启。
解决方案(以宝塔面板为例):
- 检查扩展安装状态:
- 在宝塔面板的 “软件商店” -> “PHP 设置” -> “安装扩展” 列表中,确认
fileinfo
和gd
已被安装。
- 在宝塔面板的 “软件商店” -> “PHP 设置” -> “安装扩展” 列表中,确认
- 编辑
php.ini
配置文件:- 关键步骤: 即使扩展显示已安装,也可能在配置文件中被禁用。
- 点击 “PHP 设置” -> “配置文件”,找到并打开
php.ini
。 - 搜索
extension=fileinfo
和extension=gd
,确保这两行的行首没有分号 (;
)。如果有,请删除分号。 - 如果找不到这两行,请手动在文件末尾添加。
- 检查 PHP 禁用函数:
- 在 “PHP 设置” -> “禁用函数” 列表中,检查
file_get_contents
,scandir
等函数是否被禁用。玛朵图仓的某些功能(如获取统计信息)依赖这些函数,请确保将它们从禁用列表中移除。
- 在 “PHP 设置” -> “禁用函数” 列表中,检查
- 重启 PHP 服务:
- 在修改完配置或扩展后,请务必在 “服务” 页面点击 “重启” 或 “重载配置”,使设置生效。
- /thread-48276.htm