通过必应壁纸官方api实现网页背景图片随机展示

创建一个php文件background.php,然后在里面写上php代码段:

<?php
// background.php
$json_string = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=3&mkt=zh-CN');
$data = json_decode($json_string, true);
$url = 'https://cn.bing.com' . $data['images'][0]['url'];

echo $url;
?>

html网页的css代码:

<style>
    body {
        background-image: url('<?php echo file_get_contents('background.php'); ?>');
        background-size: cover;
        background-position: center;
        margin: 0;
        padding: 0;
    }
</style>

 

这样每刷新一次网页,背景图片就会变一次。不过加载图片的速度有点慢…就加载速度来说不如用固定图片链接快,毕竟这个得获取解析再调用。

也可以就写到网页的html代码里面,放最下面就行。

<?php
function get_random_bing_image() {
    // 获取每日壁纸列表
    $json_string = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=3&mkt=zh-CN');
    $data = json_decode($json_string, true);

    // 选择随机一张图片
    $random_index = array_rand($data['images']);
    $image_data = $data['images'][$random_index];

    // 构建完整的图片URL
    $url = 'https://cn.bing.com' . $image_data['url'];

    return $url;
}
?>

 

然后在css里面:

<style>
    body {
        background-image: url('<?php echo get_random_bing_image(); ?>');
        background-size: cover;
        background-position: center;
        margin: 0;
        padding: 0;
    }
</style>

 

这样只是少单独用一个PHP文件。

官方接口说明:

参数名称 值含义
format(非必需) 返回数据格式,不存在返回xml格式
js (返回json格式,一般使用这个)
xml(返回xml格式)
idx(非必需) 请求图片截止天数
0 今天
-1 截止至明天(预准备的)
1 截止至昨天,类推(目前最多获取到16天前的图片)
n(必需) 1-8 返回请求数量,目前最多一次获取8张
mkt(非必需) 地区
zh-CN
...

 

© 版权声明
THE END
打赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容