AI全文总结:

这篇文章是一篇关于如何创建自己的随机图API的技术博客。作者详细介绍了创建随机图API的全过程,包括寻找图片、压缩图片、上传图片、创建API等步骤。

首先,作者介绍了为什么他想要创建自己的随机图API,是因为他对之前使用的API中的二次元图片浓度过高感到不满意。然后,他推荐了几个免费的壁纸网站,作为寻找图片的来源。

接下来,作者提到了图片大小的问题,并推荐使用在线的图片压缩网站TinyPNG来压缩图片,以加快网页加载速度。

在上传图片部分,作者介绍了如何使用GitHub+jsdelivr图床来上传图片,并给出了具体的图片地址格式。他使用的图床插件是PicGo,并给出了配置好的示例。

在创建API部分,作者详细描述了如何使用vps的宝塔面板来创建一个API站点。他创建了一个ssl认证的站点,并强制使用https。然后,他创建了两个文件:img.txt和random.php。img.txt用于存储图片链接,而random.php则包含用于随机选择图片并返回链接的PHP代码。

最后,作者提到了如何访问这个API链接,以及自己的随机图API接口的地址。

总的来说,这篇博客提供了创建自己的随机图API的详细步骤,对于想要创建自己随机图API的人来说,是一篇很有用的教程。

【vps】教你写一个自己的随机图API

前言

刚刚开始使用halo博客的时候,我就发现halo博客系统是可以使用随机图当背景的,所以也是使用了网上一些比较火的随机图API。

在上次发现了各种图片API接口之后,我发现这些接口都是使用随机图的原理的,然后大部分的随机图都是二次元浓度过高,自己是有点受不了的,所以准备自己写一个随机图的API接口。正好最近的vps备案成功了,就写一个API网页吧。

1、寻找图片

这一步肯定是不用多说的,自己就是因为嫌弃以前使用的api二次元浓度太高了,所以想自己找一些好看的图片来当随机图。那么从哪里找图片呢?我这里有几个推荐的好看的壁纸网站,都是免费下载的

Wallpaper Abyss

Awesome Wallpapers

WallpapersWide.com

当然,还有很多的地方可以找到好看的图片,就比如我最近刷短视频的时候,就会经常给我推荐好看的壁纸

2、压缩图片

我们都知道,如果一张图片的大小太大,那么网页打开时加载时间就会比较长,这个样子就会有网页打开了,但是图片未加载完全的情况出现。

那么如何避免这种情况的出现呢,我们可以使用一些图片压缩工具,这里推荐使用在线的图片压缩网站TinyPNG

这个网站的压缩率非常的高,使用的图片压缩算法基本上可以达到70%左右的压缩了,这已经是高得离谱了。

3、上传图片

在压缩图片完成之后,就到了我们的上传图片的时间了

然后我上传图片使用的是github+jsdelivr图床来上传的。

最后的上传效果就是图片地址为

https://cdn.jsdelivr.net/gh/{你的github用户名}/{仓库名称}/{具体路径}

那么这边使用的图床插件是PicGo,配置好之后的样子长这样

image-20210716232557499

那么上传图片的问题解决了

4、创建API

api怎么创建呢?

首先第一步,我们打开vps的宝塔面板,如果没安装的推荐安装一个,因为这个对建站小白来说非常的方便。

我们参加一个API站点

image-20210716233344005

然后申请一个ssl认证,再打开强制https

然后打开这个站点的目录,创建一个img.txt和一个random.php

image-20210716233452823

我们在img.txt中将我们上传的图片的url写在里面,效果如图所示

image-20210716233537510

这里提一点,如何一件复制你上传图片的url呢,如果你使用的是PicGo上传的话,可以在“相册”一栏里,选择你想要的图片,然后一件复制url

然后我们在random.php中写下这段代码

<?php
//存有image链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
 
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
 
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
 
//返回指定格式
$type=$_GET['type'];
switch($type){
 
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
 
default:
    die(header("Location: $pic"));
}
?>

到此大功告成!我们的随机图API就做好了!

我们只需要访问这个API链接(random.php)就可以立即跳转到我们img.txt中的随机一张图片的地址啦!

后话

那么到此自己的随机图API就做好啦

这里也是附上自己的随机图API接口

api.woodwhale.top