admin

随机PHP必应每日一图APi代码及调用方法

admin 分享 2022-12-11 325浏览 0

主题有好多模板设置了分类的背景图,调用了第三方api但是最近第三方挂了,嗯嗯,这就是图省事不写代码的后果,一旦图片都失效,网站打开速度慢不说,图片的背景图还是灰蒙蒙一片,非常尴尬。。。百度了下必应每日api源代码有很多,但是随机显示的也都是调用人家自己的,这样就可能再次出现无法打开的情况,但是仅仅调用一张图片又略显单调(最烦我这种啥也不是,要求还多的人。。。),终于皇天不负有心人让我找到了一个随机显示必应图片的api调用方法,附上代码及适用教程。

调用方法(教程和代码在下方)

此API只支持https调用,所有参数均仅适用于以 GET 方式进行请求,可直接插入img标签中

请求地址:(不要适用本站api代码,跨域)

调用参数

参数代码参数含义可用参数
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

教程和API代码

首先在网站根目录新建一个php文件,例如:index.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://网址/index.php?rand=true,酱婶儿的就OK啦,把这个链接放在主题模板的背景图接口就大功告成!

版权声明:
    “邓先生工作室”文章为自撰和网摘为一体,网摘文章及图片版权归原作者所有,转载本文请注明出处,请勿用于商务用途。如有侵犯您的权益,请及时联系toneydeng@qq.com予以删除!
发表评论