闲来无聊,看网站的banner太久腻了就想换一张图片,心血来潮就想搞一个自动随机换图片的API插件。
2天时间用php写了一个,可以从指定的图片资源库中随机返回一张图片。并支持多种图片格式,增加cache机制,可以设定缓存有效期、等功能,提供友好的错误处理机制。
自动获取图片文件夹内图片。多种调用方式。(可配置刷新时间)
API地址:https://www.pengjianwei.com/plugins/random_image_api/
支持指定文件夹跟指定格式
指定图片分类:GET http://yourdomain.com/plugins/random_image_api/index.php?category=acg(all是所有)
<img src="http://www.pengjianwei.com/plugins/random_image_api/index.php?category=all" alt="随机图片" style="max-width: 100%;">
指定图片格式
GET http://yourdomain.com/plugins/random_image_api/index.php?format=jpg
可以同时使用多个参数:
GET http://yourdomain.com/plugins/random_image_api/index.php?category=nature&format=jpg
在JavaScript中使用
fetch('http://yourdomain.com/plugins/random_image_api/index.php')
.then(response => {
if (!response.ok) {
return response.json().then(error => Promise.reject(error));
}
return response.blob();
})
.then(blob => {
const imageUrl = URL.createObjectURL(blob);
document.getElementById('random-image').src = imageUrl;
})
.catch(error => {
console.error('获取随机图片失败:', error);
});目录结构
random_image_api/ ├── index.php # API主入口 ├── README.md # 说明文档 ├── includes/ │ ├── config.php # 配置文件 │ ├── image_handler.php # 图片处理器 │ └── cache_handler.php # 缓存处理器 ├── images/ # 图片存储目录 │ ├── nature/ # 自然风景分类 │ ├── landscape/ # 风景分类 │ ├── animals/ # 动物分类 │ ├── abstract/ # 抽象分类 │ ├── technology/ # 科技分类 │ ├── beauty/ # 美女 │ ├── acg/ # acg动漫 │ ├── game/ # 游戏 │ └── qita/ # 其他 └── cache/ # 缓存目录
## 配置说明 可以通过修改 `includes/config.php` 文件来调整API的行为: - `CACHE_LIFETIME` - 缓存有效期(秒) - `SUPPORTED_FORMATS` - 支持的图片格式 - `IMAGE_CATEGORIES` - 图片分类 - `ENABLE_CACHE` - 是否启用缓存 - `ENABLE_COMPRESSION` - 是否启用图片压缩 - `COMPRESSION_QUALITY` - 压缩质量
可能的错误码:
- `404` - 没有找到符合条件的图片
- `415` - 不支持的图片格式
- `500` - 服务器内部错误
注意事项
1. 请确保 `images` 目录有足够的图片资源
2. 建议定期清理 `cache` 目录,以避免占用过多磁盘空间
3. 生产环境中建议关闭 `SHOW_DETAILED_ERRORS` 选项
4. 如需添加新的图片分类,需要在配置文件中更新 `IMAGE_CATEGORIES` 并创建相应的目录
本站的插件版本:(后台应用中心安装)
增加了key密钥配置(登录后在用户中心获取)
演示地址:随机图片API演示
公用key:3903ab18e96b3c33d4df11bfbb5ef11264f34fe99762625a1ebc043e252ac224
后续更新:对key增加每日次数或者流量限制。
