本文将介绍如何使用PHP创建一个简单的随机图片API接口,用户可以通过不同的参数获取不同类型的随机图片。
这个随机图片API可用于
个人网站的随机背景图
论坛签名图
博客文章的随机插图
移动应用的随机展示图
功能概述
API主要提供以下功能
根据不同的type参数返回不同类型的图片
支持直接返回图片或返回JSON格式的图片URL
自动识别图片格式并设置正确的Content-Type
代码实现解析
1. 参数处理部分
$type = $_REQUEST['type'] ?? "1";
$folders = [];
这里使用$_REQUEST超全局变量获取请求参数,??是PHP7的空合并运算符,表示如果$_REQUEST['type']不存在则使用默认值"1"
2. 文件夹选择逻辑
if ($type == "1") {
$folders[] = '/data/img/1';
} else if ($type == "2") {
$folders[] = '/data/img/2';
} else if ($type == "ba") {
$folders[] = '/data/img/bagf';
} else {
echo "type错误!";
exit();
}
根据不同的type值选择不同的图片文件夹。如果type参数错误,会输出错误信息并终止脚本。
3. 遍历文件夹获取图片
foreach ($folders as $folder) {
$path = $_SERVER['DOCUMENT_ROOT']. $folder;
if ($handle = opendir($path)) {
while (false!== ($file = readdir($handle))) {
if ($file!= "." && $file!= "..") {
if (substr($file, -3) == 'png' || substr($file, -3) == 'jpg') {
$files[] = $path. '/'. $file;
}
}
}
closedir($handle);
}
}
这部分代码会遍历所有指定的文件夹,收集所有.jpg和.png格式的图片文件路径。
4. 输出处理
if ($_REQUEST['t'] == 'json') {
// 返回JSON格式
} else {
// 直接返回图片
}
接口调用示例
1. 获取随机图片(直接返回图片)
https://cdn.uuuix.com/api/v1/acg.php?type=2
返回直接就是随机图片
2. 获取JSON格式的图片URL
https://cdn.uuuix.com/api/v1/acg.php?type=2&t=json
返回
{
"img": "https://cdn.uuuix.com/api/v1/data/img/acg/2/0072Vf1pgy1foxkfylhhxj31hc0u04dv.jpg"
}
代码
图片大家就自己找一下哈 这里就不提供了
这一切,似未曾拥有