由于博客使用的 Sakurairo 主题封面和文章特色图片有使用外部API来获取随机图片地址,且网上提供的API不太符合自身喜好,因此在查阅了下网上的资料的基础上,决定稍微尝试在前期满足自己需求的情况下搭建自己的随机图片API。
提示
- 如果使用HTTPS协议,确保API接口网站也启用HTTPS,以避免图片被屏蔽。
- 如果你的网站没有默认服务,可以将
api.php
命名为index.php
,并删除其他不必要的index
文件,这样可以通过直接访问域名来使用API。 - 推荐使用WebP格式图片以减少文件大小来保证资源加载,如图床或服务器自带转换服务可忽略。
一、网站设置
本地图片
1. 准备工作
- 在你的网站目录下,创建一个
image
文件夹来存放图片。 - 将图片上传至
image
文件夹。 - 在同一目录下创建一个
api.php
文件,作为API接口。
2. PHP代码
<?php
header("Access-Control-Allow-Origin: *");
header('Pragma:no-cache');
header('Cache-Control: no-cache, must-revalidate');
header('Expires: 0');
// 指定图片所在的文件夹
$imageFolder = 'image'; // 替换为你的图片文件夹路径
// 随机选择一张图片并进行重定向
$img_array = glob("$imageFolder/*.{gif,jpg,png,webp}", GLOB_BRACE);
header("Location: " . $img_array[array_rand($img_array)]);
?>
外链设置
1. 准备工作
- 在你的网站目录下,创建一个
image.txt
文件,并将每张图片的链接逐行写入文件。 - 创建一个
api.php
文件,作为API接口。
小技巧:使用统一规范的外链格式
例如,你可以使用类似 https://makurasho.com/pc1.webp
的格式。
- 将
https://makurasho.com/pc1.webp
和https://makurasho.com/pc2.webp
分别复制到 Excel 的两行中。 - 利用 Excel 的自动填充功能,生成所有需要的链接。
- 复制生成的链接并粘贴回
image.txt
文件中。
2. PHP代码
<?php
header("Access-Control-Allow-Origin: *");
header('Pragma:no-cache');
header('Cache-Control: no-cache, must-revalidate');
header('Expires: 0');
// 存有图片链接的文件 image.txt
$lines = file('image.txt');
// 随机选择一行并去除换行符
$imageUrl = trim($lines[array_rand($lines)]);
// 进行重定向
header("Location: $imageUrl");
?>
二、使用
如果PHP文件名为index.php
,可以通过 https://your-domain.com
直接访问。
如果使用其他文件名,如 api.php
,则通过 https://your-domain.com/api.php
进行访问。
Comments NOTHING