前段时间有朋友和我反应说,我的分类怎么都是一样的,我还有点莫名其妙,不至于啊。他把截图发出来,我一看,所有分类背景图都是一样的,所以即使切换了分类,也不太明显。这个时候就需要调用一个第三方api来实现分类背景图随机显示了。
百度了下必应每日api源代码有很多,但是随机显示的也都是调用人家自己的,这样就可能再次出现无法打开的情况,但是仅仅调用一张图片又略显单调,终于皇天不负有心人让我找到了一个随机显示必应图片的api调用方法,附上代码及适用教程。
调用方法:(代码在下方)
此API只支持https调用,所有参数均仅适用于以 GET 方式进行请求,可直接插入img标签中
请求地址:(不要适用本站api代码,跨域)
https://ymlf.cn/api/bing/
调用参数:
参数代码 | 参数含义 | 可用参数 |
rand | 是否随机显示最近8天内的图片 | true or false |
day | 显示指定的最近图片 | -1,0,1,2,3,4,5,6,7(0为今天,-1为昨天) |
size | 指定获取图片大小 | 详见下方可用分辨率 |
info | 获取图片基础信息(json格式) | true or false |
以上所有参数均非必要,默认参数为rand=false,day=0,size=1920×1080,info=false
可用分辨率:
1920×1080
1366×768
1280×768
1024×768
800×600
800×480
768×1280
720×1280
640×480
480×800
400×240
320×240
240×320
注:中间的x为英文字母x
调用示例:
默认调用:显示效果
调用链接:
https://ymlf.cn/api/bing
不带任何参数调用,显示必应当天图片。
Info调用:
调用链接:
https://ymlf.cn/api/bing?info=true
返回值:
{ title:Micheldever Wood的蓝铃花,英国汉普郡 (© Hursley/Getty Images Plus), url:https://www.bing.com/th?id=OHR.BluebellWood_ZH-CN8128422960_1920x1080.jpg, link:https://www.bing.com/search?q=%E8%93%9D%E9%93%83%E8%8A%B1&form=hpcapt&mkt=zh-cn, time:20200419 }
随机调用: (刷新本页,图片随机显示)
调用链接:(随机显示一张图片)
www.ymlf.cn/api.php?rand=true
附教程和API代码:
首先在网站根目录新建一个php文件,例如:api.php,然后粘贴如下代码:
<?php//判断是否随机调用if ($_GET['rand']==='true') { $gettime = rand(-1,7);}else{//若不为随机调用则判断是否指定日期 $gettimebase = $_GET['day']; if (empty($gettimebase)) { $gettime = 0; }else{ $gettime = $gettimebase; }}//获取Bing Json信息$json_string = file_get_contents('https://www.bing.com/HPImageArchive.aspx?format=js&idx='.$gettime.'&n=1');//转换为PHP数组$data = json_decode($json_string);//提取基础url$imgurlbase = "https://www.bing.com".$data->{"images"}[0]->{"urlbase"};//判断是否指定图片大小$imgsizebase = $_GET['size'];if (empty($imgsizebase)){ $imgsize = "1920x1080";}else{ $imgsize = $imgsizebase;}//建立完整url$imgurl = $imgurlbase."_".$imgsize.".jpg";//获取其他信息$imgtime = $data->{"images"}[0]->{"startdate"};$imgtitle = $data->{"images"}[0]->{"copyright"};$imglink = $data->{"images"}[0]->{"copyrightlink"};//判断是否只获取图片信息if ($_GET['info']==='true') { echo "{title:".$imgtitle.",url:".$imgurl.",link:".$imglink.",time:".$imgtime."}";}else{ //若不是则跳转url header("Location: $imgurl");}
保存文件,最后打开网页查看效果,如果有不同需求网址后面加“?参数代码=true(或者false)”,参考上面的参数表格,完整代码就是(以随机为例):https://网址/api.php?rand=true,
就这样完成了,然后放入分类模板顶部背景中。大功告成!
还没有评论,来说两句吧...