引言
事情是这样的,我博客以前用的一直都是网上的随机图片API,前段时间我打开自己的博客的时候,发现图片全部变成空白的,一查发现接口改了,重新找又很麻烦,于是打算自己弄个随机图片API,用的PHP写
具体的思路是这样的:
准备好我们需要的图片
通过PicGo把图片上传到腾讯云OSS中并获取链接
部署到云服务器
通过API调用
实现
首先准备好我们的图片
觉得图片太大的话可以用 TinyPNG 进行图片压缩
腾讯云对象存储 COS:https://cloud.tencent.com/product/cos
PicGo:https://github.com/Molunerfinn/PicGo
PicGo配置腾讯云COS教程略,具体可以百度,后续再出教程
没有COS并且不想买的话也可以使用网络上的图床之类的东西上传照片,无论用什么方法,只要能获取到图片链接即可
上传图片到PicGo并获取链接
把获取到的链接存储在名为 images.txt 的文档,至此,图片链接准备完毕
编写PHP代码
<?php
//存有美图链接的文件名images.txt
$filename = "images.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 文件另存为 random.php
部署到服务器
本教程使用的 宝塔 面板演示,支持PHP环境的都行
这样就部署成功了
评论区