开始此教程前,已安装1Panel面板,默认系统为Ubuntu,其他系统需自测。
安装PHP运行环境
在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”就会出现随机图片了。