网上获取Bing背景图的方法很多,但是好像很多都是获取的都是1366x768像素的,大屏幕下这个大小好像不够用,但是Bing网站的背景图是1920x1080的,官方用的是Josn方式获取的,于是在CSDN找到了下面的代码:
//获取bing背景图
$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"};
用就可以输出图片地址了,在本地测试正常,但是我的实际应用却遇到了一些问题,上传到主机只能输出“/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就可以打印一个图片信息,可以修改一下做其他用途。
项目测试地址:http://www.gsky.org/img/,背景图是每天获取Bing壁纸
另外可以通过http://www.gsky.org/img/?admin=download下载或者调用Bing背景图,每天更新,七牛云存储加速!