原文博客链接:https://www.wkeyu.cn/171.html
搭建一个简单的首页随机图片api接口
引言
事情是这样的,我的博客首页图片之前一直用的是网上找的必应的接口,图片每天会自动更新成必应的每日一图,但是今天访问时首页背景突然变成了空白,通过开发者工具控制台发现是之前的图片接口不能用了。网上找接口又很麻烦,图片也不一定是自己喜欢的,最重要的是不够稳定,于是就想自己尝试简单搭建一个随机图片api。
理一下思路:
- 准备好我们需要的图片。
- 通过PicGo上传到阿里云OSS图床里,输出上传后的图片地址。
- 部署到服务器中
- 通过api调用
实现
1. 准备图片
我选择的是必应图片下载榜中的一些图片,将它们下载下来保存到本地。
2. 获得图片链接地址
通过PicGo上传到阿里云OSS图床,获得上传后的图片地址,放入img.txt文件中。
如何部署PicGo+阿里云OSS搭建个人图床请参考我的博客——《Typora配置阿里云图床详细教程》
3. 部署服务器
我的个人博客是部署在我的阿里云服务器上,所以我直接使用该云服务器来搭建随机图片api。没有云服务器的用户可以参考我的博客文章——《阿里云服务器搭建个人博客网站详细流程》
-
在该文件夹下新建两个文件——img.txt和random.php (服务器一定要有php环境) -
img.txt文件存放我们获得的图片链接 -
配置random.php <?php
$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){
case 'json':
header('Content-type:text/json');
die(json_encode(['pic'=>$pic]));
default:
die(header("Location: $pic"));
}
?>
上述全部配置完成后,我们就能通过api获取我们的图片了。
通过api访问图片
通过http://域名/random.php即可调用我们的api接口;
此时,访问我们的博客www.wkeyu.cn会发现首页图片已经变成了我们上传的图片,并且每次刷新会随机更换。
p即可调用我们的api接口;
此时,访问我们的博客www.wkeyu.cn会发现首页图片已经变成了我们上传的图片,并且每次刷新会随机更换。
|