在很多时候会遇到需要图标的时候,虽然有甚多 api 可以直接获取到 icon,但还是不如放在自己手里方便。
网址
写了一个图标集网站,之前用过一个开源项目,内置图标很多,但显得很乱,还有很多是自己不需要的。
反正功能简单,不如自己动手写。其实也就是一个简单的图床功能。
单文件 PHP 图标/图片素材库,无需数据库服务,开箱即用。
功能
- 本地上传:拖拽或选择文件,支持 SVG / PNG / JPG / WebP / GIF / ICO,保留原始文件名
- 链接抓取:输入图片 URL,自动下载入库(含 SSRF 防护和 MIME 校验)
- 分类与标签:自定义分类,支持多标签筛选
- 批量操作:多选、批量改分类、批量删除、ZIP 打包下载
- 搜索与排序:按名称搜索,支持名称/时间/大小排序
- 元数据管理:导入/导出 JSON 元数据,跨库迁移
- 详情查看:格式、大小、分辨率、添加时间
- 主题切换:日间(白色背景)/ 夜间模式,自动跟随系统偏好
- 响应式:适配桌面端与移动端
文件说明
| 文件 | 说明 |
|---|---|
| <code>index.php</code> | 主页面(前端 + 后端渲染) |
| <code>api.php</code> | 数据接口(CRUD、分类、导入导出) |
| <code>upload.php</code> | 上传处理器(本地上传 + URL 抓取) |
| <code>config.php</code> | 配置与数据库初始化 |
| <code>icons.db</code> | SQLite 数据库(自动生成) |
| <code>uploads/</code> | 图标文件存储目录(按年月自动归档) |
安装
- 将全部文件部署到 PHP 环境(PHP ≥ 7.4,需开启 <code>pdo_sqlite</code>、<code>curl</code>、<code>fileinfo</code> 扩展)
- 确保 <code>uploads/</code> 目录可写
- 首次访问会自动创建数据库
默认管理员密码:<code>admin123</code>,config.php内修改。
使用
- 管理模式:点击右上角「管理模式」登录后可上传、编辑、删除
- URL 抓取:上传弹窗中切换到「链接抓取」Tab,每行粘贴一个图片链接即可批量入库
- 拖拽上传:从桌面直接拖文件到页面空白处
- 批量下载:多选图标后点击底部「下载 ZIP」
环境要求
- PHP ≥ 7.4
- 扩展:<code>pdo_sqlite</code>、<code>curl</code>、<code>fileinfo</code>、<code>gd</code>
- Web 服务器:Apache / Nginx