【vps】教你寫一個屬於自己的隨機圖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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM