Bing 随机壁纸

  2017.11.1更,因工信部&中国电信政策规定禁止家宽部署web服务,一旦发现即立刻封禁宽带,原部署于NAS中的所有服务,已全部停止,包括随机壁纸API,文件分享,NAS导航,远程视频...

PS:随机壁纸服务器已到期,没钱续费,穷......
现将壁纸图库迁移到了NAS上,所以每天0:30~7:30时间段,API会无法访问,给您带来的不便,敬请谅解

  很多人都知道,Bing 搜索的主页每天都会推送一张漂亮的壁纸,比如今天的壁纸是这样的

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

API变更为:https://www.codess-yun.top:8756

上面文件分享已失效,因政策限制,本站现在不提供对外文件分享服务,需要获取随机壁纸库的朋友,请添加博客底部QQ群(免费加群,免费获取),感谢支持~


顺便推一波我的免费图床:https://pic.codess.cc

  目前我的服务器收集了好几百张,都是1920*1080高清壁纸,具体多少懒得数,反正每天都在增加,喜欢的同学可以拿去用,API完全公开,没设防盗链,适度使用,可别把服务器给拖宕机了23333333

最后修改:2019 年 12 月 06 日 04 : 59 PM
您的支持就是我持续更新的动力!