为了能让我的blog封面能与自动开关灯(页面明暗)匹配,我做了一个可以在不同时段返还不同类型图片的随机图片api。
这是本地图库版
<?php
// 早晨图片的文件夹路径
$morningImageFolder = 'morning_images/';
// 上午图片的文件夹路径
$aftermorningImageFolder = 'aftermorning_images/';
// 中午图片的文件夹路径
$noonImageFolder = 'noon_images/';
// 傍晚图片的文件夹路径
$afternoonImageFolder = 'afternoon_images/';
// 晚上图片的文件夹路径
$eveningImageFolder = 'evening_images/';
// 获取当前小时
$currentHour = date('H');
// 根据当前时间选择图片路径
if ($currentHour >= 6 && $currentHour < 8) {
$randomImage = $morningImageFolder . getRandomImage($morningImageFolder);
} elseif ($currentHour >= 8 && $currentHour < 11) {
$randomImage = $aftermorningImageFolder . getRandomImage($aftermorningImageFolder);
} elseif ($currentHour >= 11 && $currentHour < 16) {
$randomImage = $noonImageFolder . getRandomImage($noonImageFolder);
} elseif ($currentHour >= 16 && $currentHour < 19) {
$randomImage = $afternoonImageFolder . getRandomImage($afternoonImageFolder);
} else {
$randomImage = $eveningImageFolder . getRandomImage($eveningImageFolder);
}
// 返回图片路径
echo $randomImage;
header('Location: ' . $randomImage);
// 从指定文件夹中随机选择一张图片
function getRandomImage($folder) {
$images = glob($folder . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
return basename($randomImage);
}
?>
下面是外链图库版:
<?php
// 早晨图片的URL
$morningImageUrls = file('morning.txt', FILE_IGNORE_NEW_LINES);
// 上午图片的URL
$aftermorningImageUrls = file('aftermorning.txt', FILE_IGNORE_NEW_LINES);
// 中午图片的URL
$noonImageUrls = file('noon.txt', FILE_IGNORE_NEW_LINES);
// 傍晚图片的URL
$afternoonImageUrls = file('afternoon.txt', FILE_IGNORE_NEW_LINES);
// 晚上图片的URL
$eveningImageUrls = file('evening.txt', FILE_IGNORE_NEW_LINES);
// 获取当前小时
$currentHour = date('H');
// 根据当前时间选择图片URL
if ($currentHour >= 6 && $currentHour < 8) {
$randomImageUrl = $morningImageUrls[array_rand($morningImageUrls)];
} elseif ($currentHour >= 8 && $currentHour < 11) {
$randomImageUrl = $noonImageUrls[array_rand($aftermorningUrls)];
} elseif ($currentHour >= 11 && $currentHour < 16) {
$randomImageUrl = $noonImageUrls[array_rand($noonImageUrls)];
} elseif ($currentHour >= 16 && $currentHour < 19) {
$randomImageUrl = $noonImageUrls[array_rand($afternoonImageUrls)];
} else {
$randomImageUrl = $eveningImageUrls[array_rand($eveningImageUrls)];
}
// 返回图片URL
echo $randomImageUrl;
header('Location: ' . $randomImageUrl);
?>
api中有五个时段。早上6-8点,上午8-11点,中午11-16点,傍晚16-18点,其它时间是晚上.时段会随季节变化做相应调整。
目前api共811张图片,全部为人工挑选分类至合适时间段。其实本来有一万多张,但由于服务器硬盘及流量有限,只能等以后再说。
调用链接有两个版本:
国内访问:https://api.mmeiblog.cn/rd-v1(图片存储在本服务器,香港CMI,AS9929/AS1099线路,国内平均延迟48ms)
国外访问:https://api.mmeiblog.cn/rd-v2(图片混合托管在多家图床,均使用cloudflace)(由于托管过于混乱,此api图片不足811张)
api文档:meiの随机图片api (未来的更新都会写在这)
来源:mmeiblog.cn 转载请注明出处 作者:mei
本文链接:https://mmeiblog.cn/?id=13(作者博客)