前言
从刚接触博客到现在,我对博客系统也有了初步认识。更换了好多次模板,每次换模板都要精心装饰一下,搞得非常心累。今天写一个属于自己的图片API,省时更省力。
上传图片
不知道怎么上传图片的可以参考之前发布的文章利用GitHub+PicGo+jsDelivr搭建高速稳定免费图床
创建API
建立站点
打开服务器的宝塔面板,没有的话推荐安装一个,对小白来说非常好用。添加一个API站点
域名解析
去你的域名服务商添加一条和宝塔API站点一样的域名解析,然后申请一个ssl认证,再去宝塔面板添加证书,打开强制HTTPS
配置文件
然后打开宝塔API站点的根目录,创建一个img.txt和一个api.php文件
把我们通过PicGo上传之后的图片的url复制粘贴到img.txt文件中,效果如图所示
然后我们在api.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.php添加在第一行,才能实现打开即访问图片API
后言
最后,我们的随机图片API就大功告成了,附上我的随机API接口
不错,学到了,改天也去试试
好