简单建立属于自己的API(随机图片/内容API)

以图片 API 为例,在博客中调用外链 API 有时会出现不稳定或速度慢的情况,我们不妨添加一个建立在本地或图床上的 API,这样做的优点是内容完全由自己管理,也能在一定程度上提升图片质量和访问速度。

「一」本地化随机图片 API

在自定义目录下建立文件夹,如 “ranimg”,然后在该目录下新建一个 PHP 文件(如 api.php),代码如下:

1
2
3
4
5
6
<?php
$img_array = glob("img/*.{gif,jpg,png}",GLOB_BRACE);
$img = array_rand($img_array);
$dz = $img_array[$img];
header("Location:".$dz);
?>

此段代码含义为:在这个 PHP 文件所在目录下找到 img 文件夹,并随机读取 img 文件夹中后缀为 gif、jpg 和 png 的图片文件。
当然,图片存放的目录可以自定义,只需同步修改第二行代码即可。
保存文件后重启 nginx 即可生效。

以小站图片 API 为例,其文件结构为

1
2
3
4
5
网站根目录
+-- ranimg
+-- api.php
+-- img
+-- 一堆图片

这样的结构应该通过访问 worldline.top/ranimg/api.php 查看效果

「二」外链列表形式随机图片 API

与上面的方法大同小异,代码如下:

1
2
3
4
5
6
7
8
<?php
$arr=file('images.txt');
$n=count($arr)-1;
for ($i=1;$i <=1;$i++){
$x=rand(0,$n);
header("Location:".$arr[$x],"\n");
}
?>

根据此代码,需要在同一目录下放入 images.txt 文本文档,内容为网络链接列表,一行一个链接,如:

1
2
3
https://images.com/1.jpg
https://images.com/2.jpg
https://images.com/3.jpg

本文用到的 Github 项目:
用字符画出树形结构图:https://github.com/mbr/asciitree
示例:

1
2
3
4
5
6
7
8
9
10
11
asciitree
+-- sometimes
| +-- you
+-- just
| +-- want
| +-- to
| +-- draw
+-- trees
+-- in
+-- your
+-- terminal

版权所有 Copyright 2023 WorldlineChanger Personal. All rights reserved.