如何用PHP获取Bing背景图

网上获取Bing背景图的方法很多,但是好像很多都是获取的都是1366x768像素的,大屏幕下这个大小好像不够用,但是Bing网站的背景图是1920x1080的,官方用的是Josn方式获取的,于是在CSDN到了下面的代码:

$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1');
$array = json_decode($str);
$imgurl = $array->{"images"}[0]->{"url"};

用echo $imgurl;就可以输出图片地址了,在本地测试正常,但是我的实际应用却遇到了一些问题,上传到主机只能输出"/az/hprichbg/rb/图片名_1920x1080.jpg"不含主机头的地址,万分不解,于是我就稍微改造了下:

$imgurl = 'http://s.cn.bing.net'.$array->{"images"}[0]->{"urlbase"}.'_1920x1080.jpg';

这样就可以在一些比较特殊的主机上正常调用图片了,而且上面的方式还可以用一些CDN镜像这些图片来加速静态文件访问速度,比如我就是用的七牛云存储,简单粗暴的就应用上了。

解析:

$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1');

idx=0的意思是当天的图片,1为昨天使用的图片,-1为明天要使用的图片,最小为-1,最大为15,也就是可以通过修改idx可以获取最近17的图片。 n=1 则是打印几个图片josn,默认1就可以打印一个图片信息,可以修改一下做其他用途。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闻道于事

layui动态设置下拉框数据,根据后台数据设置选中

追加下拉框数据: 设置默认选中: 正常的判断这种情况是不行的,因为追加出的数据,在前台显示的并不是同一个下拉框,原来的下拉框被隐藏了 因此需要:根据原来的位置,...

68710
来自专栏IT民工生存指南

从0开始Vue.js 和 Webpack 4 [1]

1735
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——调节鼠标滚轮速度

打造前端 Deepin Linux 工作环境——调节鼠标滚轮速度 在 deepin 的系统设置里面,没有找到鼠标滚轮速度调节的选项。但是默认情况下,其滚轮的速度...

31310
来自专栏py+selenium

py+selenium IE 定位到元素,但点击不了元素的问题【已解决】

 参考:https://www.cnblogs.com/gihyuqinqin/p/8067685.html

4502

在Ubuntu 18.04上安装WordPress

WordPress是一个非常流行的专注于博客的动态内容管理系统(CMS)。WordPress可以部署在LAMP或LEMP堆栈上。它具有的可扩展插件框架和主题系统...

7281
来自专栏CodingBlock

Android查缺补漏(View篇)--布局文件中的“@+id”和“@id”有什么区别?

但需要注意的是在布局文件中,被引用的id要在引用位置的上面,否则会编译出错,如下:

1264
来自专栏linjinhe的专栏

Linux动态链接

曾经不止一次遇到过这样的情况:从机器A拷贝一个二进制文件到另一台机器B,两台机器的操作系统版本一样,可是在机器A能正常运行,在机器B却提示错误。最常见的就是提示...

2638
来自专栏编程直播室

Angular 2 中的绑定的方法在无限循环吗?

1694
来自专栏程序人生 阅读快乐

深入理解Android:WebKit卷(移动开发)

全书一共11章:第1章介绍了Android源代码阅读与编译环境的搭建;第2章介绍了浏览器的通用工作原理以及WebKit的架构设计;第3章深入解析了WTF的实现原...

1671
来自专栏草根专栏

使用VS Code开发asp.net core (上)

本文是基于Windows10的. 下载地址: https://code.visualstudio.com/ insider 版下载地址: https://cod...

3425

扫码关注云+社区

领取腾讯云代金券