将网站或博客背景设成每天更新的必应美图

Web TOMORROW 11个月前 (05-25) 1312次浏览 4个评论 扫描二维码

 

微软必应美图http://bing.plmeizi.com/)上的每日一图十分好看,用来做壁纸、背景等,最好不过了。

那么,如何将网站或博客背景设成每天更新的必应美图呢?

本文将介绍两种方法,一种是懒人必用(必应美图HTML 的 API),一种是自己动手丰衣足食(php 获取必应美图)。

必应美图最新一天的图片:

方法一

直接调用我已经做好的 API 接口,放置到合适的地方即可。这样就可以将网站或博客背景设成每天更新的必应美图了。

https://www.tomorrow.wiki/api-bingpicture

方法二

API接口

首先,要有一个必应美图官方的 API 接口,这个接口与我上面的接口不同,它不是一张图片。

https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1

其中,id=0 指的是当天的意思,id=1 就表示昨天,以此往回推,最大可以设为 15。

通过 php 代码获取图片

新建一个 php 文件命名为 API-BingPicture.php,并写入以下代码。

<?php
/**
 Template Name: API-BingPicture
 description: template for TOMORROW 星辰
 */
if(file_exists("bingDaily.jpg"))
{
    $time = time();
         
    //文件修改时间和现在时间相差 24 小时以下的话,直接导向静态文件 jpg,否则重新生成 jpg
    if($time - filemtime("bingDaily.jpg") < 24*60*60 )
    {
        header("Location:/bingDaily.jpg");
      	exit(); 
    }
}

$str=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
if (preg_match("/<url>(.+?)<\/url>/ies", $str, $matches)) 
{
$imgurl='https://cn.bing.com'.$matches[1];
}
ob_end_clean();
ob_start(); 
header('Content-Type: image/JPEG');
@readfile($imgurl);
$temp =  ob_get_contents(); 
@ob_flush();
$fp = fopen("bingDaily.jpg",'w'); 
fwrite($fp,$temp) or die('写文件错误'); 
header("Location:/bingDaily.jpg");
exit();
?>

 

然后将 php 文件上传到网站的根目录,通过

https://网站域名/API-BingPicture.php/

就可以直接访问到图片了,并且每日自动更新。但,如果想要将其设为网站背景还不行,因为这是一个动态页面。

访问过上面的 php 文件后,也可以通过

https://网站域名/bingDaily.jpg

来访问。因为在访问该 php 文件的时候已经在网站跟目录生成了 bingDaily.jpg 文件。但是通过 jpg 文件的方式访问是不会自动更新该图片文件的,因为图片更新是需要 php 来完成的。

生成 HTML 图片页面

如果是 WordPress 用户的话,上面的那个 API-BingPicture.php 文件可以直接放到当前主题文件夹下的 pages 文件夹里。然后新建页面,标题随意,选择模板 API-BingPicture,然后发布即可。这样就生成了 HTML 图片页面。这个页面的链接就可以作为你自己的 API 接口了,直接在相应的地方调用就可将网站或博客背景设成每天更新的必应美图了。

将网站或博客背景设成每天更新的必应美图

 

 

 


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:将网站或博客背景设成每天更新的必应美图
喜欢 (2)
TOMORROW
关于作者:
TOMORROW星辰第一作者。如有疑问或者发现错误,请留言作者。
会撒娇的红酒发表我的评论  请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到
(4)个小伙伴在吐槽
  1. 不行啊,我新建一个文件夹把代码放进去保存后,浏览器打开是404?
    失眠的冰棍2018-08-24 16:06 回复 Windows 10 | Chrome 67.0.3396.99
    • TOMORROW
      应该是你的网站环境不支持php
      TOMORROW2018-08-24 17:04 回复 Windows 10 | 搜狗浏览器 2.X
  2. 博主的调用必应每日图片的api,速度好快啊,是加了CDN吗?
    蒲公英2018-07-06 20:32 回复 Windows 10 | Chrome 55.0.2883.87
    • 站长TT
      是的呢,用的是腾讯cdn,暂时是免费的。挺好用
      站长TT2018-07-07 00:56 回复 Windows 10 | Chrome 66.0.3359.181