Bing 随机壁纸 API
(此图是随机出来的,不信你刷新一下? =v= )
PS:随机壁纸服务器已到期,没钱续费,穷......
现将壁纸图库迁移到了NAS上,所以每天0:30~7:30时间段,API会无法访问,给您带来的不便,敬请谅解
很多人都知道,Bing 搜索的主页每天都会推送一张漂亮的壁纸,比如今天的壁纸是这样的
每一天都不相同,风格迥异,非常养眼,用来做桌面壁纸/网站背景,都是非常合适的。
前段时间脑子里突然冒出个想法,能不能让网站随机呈现Bing 壁纸呢,这样就不会局限于一天一张图片了,我想看的时候只要刷新网页就可以了。emmmmmm,答案是肯定的!
首先,随机的前提是要有一个壁纸库,这个好办,服务器上去年到现在爬取到的Bing 壁纸至少应该有几百张了;
然后,构造一个随机函数去指定文件夹内读取图片就完事儿了,这里我们用世界上最好的语言PHP
(逃...
<?php
require("config.inc.php");
function randomSelectIndex() {
$imgs = glob(IMG_DIR . IMG_EXTENSIONS, GLOB_BRACE);
$selectedIndex = array_rand($imgs);
setcookie("currentIndex", $selectedIndex);
return $selectedIndex;
}
function getImgFromIndex($index) {
$imgs = glob(IMG_DIR . IMG_EXTENSIONS, GLOB_BRACE);
if(IMG_NO_REPEAT_CURRENT && isset($_COOKIE['currentIndex'])):
while ($index == $_COOKIE['currentIndex']):
$index = randomSelectIndex();
endwhile;
endif;
$randomImage = $imgs[$index];
return $randomImage;
}
$currentSelectedIndex = randomSelectIndex();
$randomImage = getImgFromIndex($currentSelectedIndex);
header('Content-Type:image/jpeg');
header('Content-Length: ' . filesize($randomImage));
readfile($randomImage);
?>
关于config.inc.php
<?php
//图片文件夹相对路径
define("IMG_DIR",'imgs/');
//支援的图片文件类型
define("IMG_EXTENSIONS",'*.{jpg,jpeg,png}');
//下次不要和和此次随机选择到的图片重复
define("IMG_NO_REPEAT_CURRENT",true);
?>
最后,在需要使用随机图片的地方,访问这个函数就行。
本站随机壁纸API:https://img.codess.cc/index.php
此处内容需要评论回复后(审核通过)方可阅读。
顺便推一波我的免费图床:https://pic.codess.cc
目前我的服务器收集了好几百张,都是1920*1080
高清壁纸,具体多少懒得数,反正每天都在增加,喜欢的同学可以拿去用,API完全公开,没设防盗链,适度使用,可别把服务器给拖宕机了23333333
> 此篇文章【Bing 随机壁纸 API】,均来自于网络,贫小子仅作分享