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

「一」本地化随机图片 API

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

<?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 为例,其文件结构为

网站根目录

+-- ranimg

  • +-- api.php

  • +-- img

  • +-- 一堆图片

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

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

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

<?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 文本文档,内容为网络链接列表,一行一个链接,如:

https://images.com/1.jpg

https://images.com/2.jpg

  • https://images.com/3.jpg


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

asciitree

+-- sometimes

  • | +-- you

  • +-- just

  • | +-- want

  • | +-- to

  • | +-- draw

  • +-- trees

  • +-- in

  • +-- your

  • +-- terminal