开始此教程前,已安装1Panel面板,默认系统为Ubuntu,其他系统需自测。

安装PHP运行环境

1751683279728

在1panel面板,选择网站-运行环境,选择PHP8,在网站创建API二级域名网站,选择运行环境PHP8。

创建调用API的PHP文件

在网站的设置中找到网站目录,创建一个比如“img”文件夹,进入img文件夹,,创建一个img.txt用于存放图片连接(如果本地存储图片,则根目录创建acg文件夹,进入文件夹后创建img文件夹用于存储图片),创建一个index.php文件,写入以下代码

<?php
// 定义图片链接文件路径(本地存储切换为'img/')
$linkFile = 'img.txt';
​
// 从文件读取所有图片链接
$imageLinks = @file($linkFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
​
// 检查文件是否存在且包含有效链接
if (!$imageLinks || count($imageLinks) === 0) {
    header('HTTP/1.1 403 Forbidden');
    echo '无权限访问';
    exit;
}
​
// 随机选择一个图片链接
$randomLink = $imageLinks[array_rand($imageLinks)];
​
try {
    // 获取图片二进制数据
    $imageData = @file_get_contents($randomLink);
    
    if ($imageData === false) {
        // 如果图片加载失败,直接返回 403,不暴露具体 URL
        header('HTTP/1.1 403 Forbidden');
        echo '无权限访问';
        exit;
    }
​
    // 获取图片MIME类型
    $finfo = new finfo(FILEINFO_MIME_TYPE);
    $mimeType = $finfo->buffer($imageData);
​
    // 设置HTTP头并输出图片
    header('Content-Type: ' . $mimeType);
    echo $imageData;
    
} catch (Exception $e) {
    // 捕获异常并返回 403,不暴露具体错误
    header('HTTP/1.1 403 Forbidden');
    echo '无权限访问';
    exit;
}

访问API获取图片

1、在浏览器中输入“域名/img”就会出现随机图片了。

2、本地存储图片,访问“域名/acg”就会出现随机图片了。