IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PHP获取Bing背景图

    Tokin发表于 2015-06-19 13:52:00
    love 0

    网上获取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背景图,每天更新,七牛云存储加速!



沪ICP备19023445号-2号
友情链接