搭建自己的随机图片API

技术教程 · 05-11
搭建自己的随机图片API

640.png
今天刷到一个博主的一篇关于搭建自己随机图片API的教程,自己照葫芦画瓢尝试了下,感觉还行,于是记录也顺便分享下。

主要有两种,一种是从服务器本地调取图片,吃的是服务器的带宽,适合服务器配置不错或平时并发调用不高的朋友;第二种是通过链接调取,简单理解就是调用外部的图片链接,如cdn或图床,适配服务器配置不高的朋友。

以宝塔面板为例,记录下实现过程。

方案一、服务器本地图片调用

  1. 登录宝塔面板后新建网站(添加站点);

1.png

  1. 进入网站根目录;

2.png

  1. 删除根目录下所有文件;
  2. 新建一个文件夹,如命名为img,用来存放需要调用的随机图片;

3.png

  1. 新建一个index.php文件,这个文件就是api地址了,把以下代码拷贝到index.php下。

4.png

<?php
$img_array = glob("img/*.{webp,gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?>

方案二、通过图片链接调用

  1. 登录宝塔面板后新建网站(添加站点);
  2. 进入网站根目录;
  3. 删除根目录下所有文件;
  4. 新建一个img.txt文件,文件内存放图片链接(注:一行一个链接);

5.png
6.png

  1. 新建一个index.php文件,这个文件就是api地址了,把以下代码拷贝到index.php下。

7.png

<?php

//存有链接的文件名,这里是存放图片链接的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"));
}

以上方案任选其一,完成后,直接访问当时时间网站填入的域名即可。

Theme Jasmine by Kent Liao