一个简单、快速、美观的图片托管服务,支持多格式图片上传、自动压缩、缩略图生成和完整的管理功能。
- 简单易用:拖拽上传,支持多种图片格式
- 高效压缩:自动压缩图片,节省存储空间
- 缩略图生成:自动生成缩略图,提升加载速度
- 完整管理:图片管理、访问统计、批量操作
- 美观界面:响应式设计,支持移动端
- CSRF防护:防止跨站请求伪造攻击
- 文件类型验证:确保上传的是合法图片文件
- 文件头检查:防止伪装成图片的恶意文件
- 权限管理:管理员后台和普通用户分离
- 访问统计:记录图片访问次数
- 临时图片:自动清理机制
- 多终端支持:PC和移动端都能完美使用
- 易于部署:一键安装,配置简单
- PHP 7.4+ (推荐 PHP 8.0+)
- MySQL 5.7+ 或 MariaDB 10.3+
- GD 扩展 (用于图片处理)
- PDO 扩展 (用于数据库连接)
git clone https://github.com/520TinyXI/Tiny-Image-Bed.git
cd Tiny-Image-Bed确保以下目录有写入权限:
config/uploads/logs/
在浏览器中访问:
http://your-domain.com/install.php
按照安装向导完成配置:
- 环境检查
- 数据库配置
- 站点配置
- 安装完成
安装完成后,系统会自动创建:
- 配置文件
config/config.php - 安装锁文件
config/install.lock
安全提示:安装完成后可以删除 install.php 文件以增强安全性。
- 访问首页
index.php - 点击或拖拽图片到上传区域
- 等待上传完成,复制生成的图片链接
- 访问管理员后台
admin/ - 使用设置的管理员密码登录
- 在后台可以查看、编辑和删除所有图片
- 首页:显示当前用户的临时图片
- 画廊页面
gallery.php:显示所有公开图片
Tiny-Image-Bed/
├── admin/ # 管理员后台
│ ├── images.php # 图片管理
│ ├── index.php # 后台首页
│ ├── login.php # 登录页面
│ ├── logout.php # 登出页面
│ └── settings.php # 系统设置
├── config/ # 配置文件
│ ├── config.example.php # 示例配置
│ ├── config.php # 实际配置
│ └── config_server_fixed.php # 服务器固定配置
├── includes/ # 核心功能
│ ├── database.php # 数据库操作
│ └── functions.php # 通用函数
├── uploads/ # 上传文件存储
├── logs/ # 日志文件
├── index.php # 首页/上传页面
├── gallery.php # 图片画廊
├── upload.php # 上传处理
├── install.php # 安装脚本
├── LICENSE # MIT许可证
└── README.md # 项目文档
| 配置项 | 描述 | 默认值 |
|---|---|---|
| SITE_NAME | 站点名称 | 我的图床 |
| SITE_URL | 站点URL | http://localhost |
| MAX_FILE_SIZE | 最大文件大小(MB) | 10 |
| ALLOWED_EXTENSIONS | 允许的文件扩展名 | jpg,jpeg,png,gif,webp |
| ENABLE_COMPRESSION | 是否启用图片压缩 | true |
| COMPRESSION_QUALITY | 图片压缩质量 | 85 |
| ENABLE_THUMBNAILS | 是否生成缩略图 | true |
| THUMBNAIL_WIDTH | 缩略图宽度 | 300 |
| THUMBNAIL_HEIGHT | 缩略图高度 | 300 |
可以通过以下方式修改配置:
- 管理员后台
admin/settings.php - 直接编辑
config/config.php文件
- 错误日志存储在
logs/目录下 - 定期清理日志文件以节省空间
- 定期备份数据库和
uploads/目录 - 推荐使用定时任务自动备份
- 开启 PHP OPCache
- 使用 CDN 加速静态资源
- 定期清理临时文件
本项目采用 MIT 许可证,详情请查看 LICENSE 文件。
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
- 项目地址:https://github.com/520TinyXI/Tiny-Image-Bed
- 作者:Tiny溪
感谢所有为这个项目做出贡献的人!
Tiny-Image-Bed - 简单、快速、美观的图片托管服务