Skip to content

TinyAII/Image-Bed

Repository files navigation

Tiny-Image-Bed

一个简单、快速、美观的图片托管服务,支持多格式图片上传、自动压缩、缩略图生成和完整的管理功能。

🌟 功能特性

✨ 核心功能

  • 简单易用:拖拽上传,支持多种图片格式
  • 高效压缩:自动压缩图片,节省存储空间
  • 缩略图生成:自动生成缩略图,提升加载速度
  • 完整管理:图片管理、访问统计、批量操作
  • 美观界面:响应式设计,支持移动端

🔒 安全特性

  • CSRF防护:防止跨站请求伪造攻击
  • 文件类型验证:确保上传的是合法图片文件
  • 文件头检查:防止伪装成图片的恶意文件
  • 权限管理:管理员后台和普通用户分离

📊 其他特性

  • 访问统计:记录图片访问次数
  • 临时图片:自动清理机制
  • 多终端支持:PC和移动端都能完美使用
  • 易于部署:一键安装,配置简单

🚀 快速开始

环境要求

  • PHP 7.4+ (推荐 PHP 8.0+)
  • MySQL 5.7+ 或 MariaDB 10.3+
  • GD 扩展 (用于图片处理)
  • PDO 扩展 (用于数据库连接)

安装步骤

1. 克隆仓库

git clone https://github.com/520TinyXI/Tiny-Image-Bed.git
cd Tiny-Image-Bed

2. 配置环境

确保以下目录有写入权限:

  • config/
  • uploads/
  • logs/

3. 执行安装

在浏览器中访问:

http://your-domain.com/install.php

按照安装向导完成配置:

  1. 环境检查
  2. 数据库配置
  3. 站点配置
  4. 安装完成

4. 完成安装

安装完成后,系统会自动创建:

  • 配置文件 config/config.php
  • 安装锁文件 config/install.lock

安全提示:安装完成后可以删除 install.php 文件以增强安全性。

📖 使用指南

上传图片

  1. 访问首页 index.php
  2. 点击或拖拽图片到上传区域
  3. 等待上传完成,复制生成的图片链接

管理图片

  1. 访问管理员后台 admin/
  2. 使用设置的管理员密码登录
  3. 在后台可以查看、编辑和删除所有图片

查看图片

  • 首页:显示当前用户的临时图片
  • 画廊页面 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

修改配置

可以通过以下方式修改配置:

  1. 管理员后台 admin/settings.php
  2. 直接编辑 config/config.php 文件

🔧 维护说明

日志管理

  • 错误日志存储在 logs/ 目录下
  • 定期清理日志文件以节省空间

数据备份

  • 定期备份数据库和 uploads/ 目录
  • 推荐使用定时任务自动备份

性能优化

  • 开启 PHP OPCache
  • 使用 CDN 加速静态资源
  • 定期清理临时文件

📝 许可证

本项目采用 MIT 许可证,详情请查看 LICENSE 文件。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

贡献流程

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📞 联系方式

🙏 致谢

感谢所有为这个项目做出贡献的人!


Tiny-Image-Bed - 简单、快速、美观的图片托管服务

About

Tiny Image Bed

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages