准备

  • 一台服务器
  • 已经搭建好的php环境

基本原理

随机图片API,主要原理其实很简单,就三步:
1.用一个文本文档存放图片的链接
2.当用户请求API时,php就去读取txt文件,然后生成随机数来随机选取一个图片链接
3.302重定向到目标图片地址

实现

下面给出最简单的实现方式,详细说明见注释

创建文件img.txt用于存放图片地址,如
https://cdn.ligzs.cn:666/apiimg/9b981b4e614bf04be7bb150a7be0f6e4.webp
https://cdn.ligzs.cn:666/apiimg/6dacc69be2fa66395ac138f081693e80.webp
https://cdn.ligzs.cn:666/apiimg/408f72e24b3296eddfdf51a822b3978e.webp
https://cdn.ligzs.cn:666/apiimg/1194b2ecc8df2551e408a3995f5c23be.webp
https://cdn.ligzs.cn:666/apiimg/aead7b30ef8dc7038a7be78c8372510c.webp
https://cdn.ligzs.cn:666/apiimg/b9fab59b95f9f617d5786fb969783e9b.webp
创建index.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"));
}
 
?>

将img.txt和index.php放在同一个网站目录下,通过访问域名/index.php即可

届ける言葉を今は育ててる
最后更新于 2022-02-09