共计 1016 个字符,预计需要花费 3 分钟才能阅读完成。
搭建随机图片api
为什么要自己搭建api?
因为网上的api要么不稳定,要么就是图片太露~了,简直是在法律的边缘疯狂试探,所以决定自己搞一个,自己把关,用自己喜欢的图片,那么就需要学习一下怎么搭建自己的随机图片api。
在网站根目录新建api.php,代码如下:,
<?php
// 获取传递到脚本中的参数
$type = isset($_GET['type']) ? $_GET['type'] : '';
// 定义图片文件夹
$img_dir = 'img';
// 如果有参数,选择相应的图片文件夹;否则遍历所有子目录
if (!empty($type)) {
$dir = $img_dir.'/'.$type;
} else {
$dir = $img_dir;
}
// 遍历指定的图片文件夹或所有子目录,并随机选择一张图片
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
$files = array();
foreach($iterator as $file) {
// 排除目录和非图片文件
if ($file->isDir() || !in_array($file->getExtension(), array('gif', 'jpg', 'jpeg', 'png', 'webp', 'bmp'))) {
continue;
}
$files[] = $file->getPathname();
}
if (count($files) == 0) {
die('没有找到图片文件。MuaOoO ~ '.$dir.' 文件夹');
}
$random_file = $files[array_rand($files)];
// 输出随机选择的图片
header('Content-Type: image/png');
echo(file_get_contents($random_file));
?>
新建文件夹img/
,给该文件夹重新赋予权限
chown -R www-data:www-data img/
可以通过https://域名/api.php
,获得随机图片,此外还可以传入type参数,不传入时,默认访问img目录所有子目录下的图片,并随机返回。
例如:https://域名/api.php?type=yuanshen
,需要在img目录下新建yuanshen
子目录,并在子目录上传图片,记得给权限。
本站api:直接访问api.php即可,类型还不确定目前就是自己用。
正文完
2023-06-27