简单搭建本地或外链随机图片API

makurasho 发布于 2024-08-06 1200 次阅读


由于博客使用的 Sakurairo 主题封面和文章特色图片有使用外部API来获取随机图片地址,且网上提供的API不太符合自身喜好,因此在查阅了下网上的资料的基础上,决定稍微尝试在前期满足自己需求的情况下搭建自己的随机图片API。

提示

  • 如果使用HTTPS协议,确保API接口网站也启用HTTPS,以避免图片被屏蔽。
  • 如果你的网站没有默认服务,可以将api.php命名为index.php,并删除其他不必要的index文件,这样可以通过直接访问域名来使用API。
  • 推荐使用WebP格式图片以减少文件大小来保证资源加载,如图床或服务器自带转换服务可忽略。

一、网站设置

本地图片

1. 准备工作

  1. 在你的网站目录下,创建一个image文件夹来存放图片。
  2. 将图片上传至image文件夹。
  3. 在同一目录下创建一个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. 准备工作

  1. 在你的网站目录下,创建一个image.txt文件,并将每张图片的链接逐行写入文件。
  2. 创建一个api.php文件,作为API接口。

小技巧:使用统一规范的外链格式

例如,你可以使用类似 https://makurasho.com/pc1.webp 的格式。

  1. https://makurasho.com/pc1.webphttps://makurasho.com/pc2.webp 分别复制到 Excel 的两行中。
  2. 利用 Excel 的自动填充功能,生成所有需要的链接。
  3. 复制生成的链接并粘贴回 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 进行访问。

参考文章

此作者没有提供个人介绍
最后更新于 2024-08-08