因为做了一个带有学校常用网站的导航网站,如下图所示,但是用的是必应的api作为背景。感觉不够特色,于是想着用校园风景来做网站的背景显得更加有特色。但是还不想占用自己图床的流量,于是想到了白嫖github来做一个随机背景图片api。由于有jsdelivr加速,效果还可以。


2022-5-20更新:由于jsdelivr速度原因,图片的地址都已经换成路过图床的了。还不错。

欢迎访问我的搜索网站:
勤慎公忠|Hebuter导航——河北工业大学小朋友专属导航网站

这是必应的背景图片api:

https://api.isoyu.com/bing_images.php

改为自己的api之后:

导航网页背景


第一步 准备图片原材料

首先,把原材料准备好,也就是要作为背景的图片,例如下图所示,建议名字就用数字就好了,也不用按照顺序什么的。

图片可以是jpg或者png之类的混合在一块的,常规的图片按理说应该都是支持的。

这里建议把图片先压缩一下,不然可能会拖慢网速。我一般用dosmall在线工具来压缩图片。

准备的图片

第二步 上传到github的一个仓库

为了便于管理,建议建一个新的public仓库。例如我新建了一个名为hebuterimg的仓库。新建好仓库之后,把照片上传到仓库中去。

将图片上传到仓库中去

第三步 导出路径

这里,新建一个txt文件,例如img.txt

然后按照这个公式生成文件名写入txt中去:

https://cdn.jsdelivr.net/gh/github用户名/仓库名/图片路径

例如:
https://cdn.jsdelivr.net/gh/tsharing00/hebuterimg/1.png

可以用简单的C语言/Python程序导出来,也可以自己复制粘贴。这一步不是很难

路径名字

第四步 新建随机php文件

新建一个php文件,例如bg.php,然后写入下面内容:

<?php
//存有美图链接的文件名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"));
}
?>

然后将php文件和txt文件放在一个目录下,不然的话需要修改$filename = "img.txt";这句话。

上传到服务器

第五步 调用api

调用这个php文件就是可以随机打开图片了:

https://hebuter.52txr.cn/img/bg.php


博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/picapi.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 27 日
如果觉得我的文章对你有用,请随意赞赏