本文已废弃,请移步API 服务的重建

什么是api?

维基百科:

应用程序接口(英语:Application Programming Interface),缩写为API,是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等。它还可以提供扩展机制,以便用户可以通过各种方式对现有功能进行不同程度的扩展。

从另一个角度来说,API 是一套协议,规定了我们与外界的沟通方式:如何发送请求和接收响应。
API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API,本文要说的就是随机图片API,其属于非操作系统级的自定义API。

随机图片API主要应用于web开发,应用程序开发等,比如你注册了某个网站或者某个app的账号,程序会随机给你设置一个头像,这里就用到了随机图片API。

而我们现在讨论的随机图片api,也即是最简单的api。

如何搭建?

一个简单的随机图片api,配置起来极其简单,仅需一台配置PHP的服务器仅可。

只需要在网站目录创建文件夹,作为网站的根目录。接着,在刚刚创建的网站根目录创建一个名为img的文件夹或者img.txt的文件和一个名为index.php的文件。

img文件夹用于存储图片,img.txt文件用于存储图片外链地址。

然后在index.php文件中写入以下代码。

  • 本地图片版:
1
2
3
4
5
6
7
<?php
$img_array = glob('img/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE);
if (count($img_array) == 0) {
die('没找到图片文件。请先上传一些图片到 ' . dirname(__FILE__) . '/img/ 文件夹');
}
header('Content-Type: image/png');
echo file_get_contents($img_array[array_rand($img_array)]);
  • 外链图片版:
1
2
3
4
5
6
7
<?php
$arr = file('img.txt');
$n = count($arr) - 1;
for ($i = 1; $i <= 1; $i++) {
$x = rand(0, $n);
header("Location:" . $arr[$x], "\n");
}

接着,将网站的HTTPS等协议配置好,就可以进行访问了。
一般来说,两种方法都互有利弊。本地图片版可以在一个网址下多次刷新,而外链图片版则是直接跳转cdn外链,但均不影响正常使用。

如何使用?

经过刚刚的部署操作后,正常来说你可以使用如下图的随机图片。

随机图片

当然,你可以多次刷新界面来观看随机图片效果。

如何使用呢?
<img src="https://api.skyil.cn/random" alt="随机图片"/>

当然,不要忘记设置CSS,否则你得到的图片将会不完整。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
html.page-home {
position: relative;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
margin: 0;
width: 100%;
height: 100%;
background-color: transparent;
background-image: url(https://api.skyil.cn/bg);
background-position: 50%;
background-size: cover;
background-repeat: no-repeat;
}

以上CSS并不是全部都需要的。

如果想了解更多,可以移步我的api网站,正在搭建中