跳转至

2. 使用自有图库搭建

本文档将指导您如何使用提供的 random.php 脚本和您自己的图片库,来搭建一个属于您自己的随机图片API。

准备工作

  1. 一台支持PHP的服务器:您需要一个Web服务器环境,例如 Nginx 或 Apache,并且已经正确配置了PHP。
  2. 图片文件:准备好您想要用作图库的图片。

搭建步骤

1. 创建目录结构

在您的网站服务器上,创建一个如下的目录和文件结构:

/your/website/
├── random.php         # API核心脚本
├── img/               # 存放通用图片 (JPG, PNG, BMP等)
│   ├── image1.jpg
│   └── image2.png
└── img-webp/          # 存放WebP格式的图片 (可选,但推荐)
    ├── image1.webp
    └── image2.webp
  • 将您准备的 非WebP格式 图片(如 .jpg, .png)放入 img 目录。
  • WebP格式 的图片放入 img-webp 目录。

2. 下载并配置 random.php

您可以从 GitHub 仓库 获取 random.php 脚本。

random.php 脚本的内容保存到您的服务器。然后,您需要修改其中的一个关键部分,以确保API返回正确的图片地址。

打开 random.php 文件,找到 buildFullImageUrl 函数:

// 构建基础URL,不设置此项json可能返回错误地址
function buildFullImageUrl($imageDirectory, $random_img) {
    $base_url = "https://api.example.com/" . $imageDirectory; // [!code focus]
    return $base_url . $random_img;
}

https://api.example.com/ 修改为您自己的域名和路径

例如,如果您的 random.php 访问地址是 https://api.example.com/random.php,那么您应该修改为:

// 构建基础URL,不设置此项json可能返回错误地址
function buildFullImageUrl($imageDirectory, $random_img) {
    $base_url = "https://api.example.com/" . $imageDirectory; // [!code focus]
    return $base_url . $random_img;
}

3. (可选) 进阶配置

random.php 文件的顶部,您还可以调整以下参数:

  • $streaming_enabled: 流式传输开关。
    • true (默认): 直接在响应中输出图片数据,浏览器地址栏URL不变。这种方式更节省服务器资源。
    • false: 通过302重定向到图片的实际地址。
  • $API_name: 您的API名称,它会显示在 return=json 的返回结果中。

使用方法 (API调用)

搭建完成后,您可以通过不同的URL参数来调用您的API。

1. 默认调用 (获取WebP图片)

直接访问 random.php,将随机返回一张 img-webp/ 目录下的图片。

https://api.example.com/random.php

2. 获取其他格式图片

使用 type=img 参数,将随机返回一张 img/ 目录下的图片。

https://api.example.com/random.php?type=img

3. 获取JSON格式信息

使用 return=json 参数,API将返回一个包含图片详细信息的JSON对象,而不是图片本身。

https://api.example.com/random.php?return=json

返回示例:

{
    "API_name": "qiqi ACG API",
    "imgurl": "https://api.example.com/img-webp/image1.webp",
    "width": 1920,
    "height": 1080,
    "client_ip": "123.123.123.123",
    "process": 0.0012345
}

4. 强制302重定向

如果您关闭了流式传输 ($streaming_enabled = false;),或者想要临时使用重定向,可以添加 redirect=302 参数。

https://api.example.com/random.php?redirect=302

浏览器将会跳转到图片的实际地址。