还在为配图发愁吗?厌倦了单调的插图?来试一试每日一图/随机图片吧!API支持https调用,可直接插入img标签中。本文介绍两种随机图片API,第一种是基于必应每日一图,第二种是基于自己的图片库。
方式一:基于必应(Bing)每日一图API
请求地址(可以直接拿去用):
https://api.wannote.com/image/bing.php
不输入参数的情况下,默认调用今日的美图,尺寸1920×1080。
效果图:
参数
参数代码 | 参数含义 | 可用参数 |
rand | 是否随机显示最近8天内的图片 | true or false |
day | 显示指定的最近图片 | 0,1,2,3,4,5,6,7(0为今天,1为昨天) |
size | 指定获取图片大小 | 详见下方可用分辨率 |
info | 获取图片基础信息(json格式) | true or 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为英文字母
如何使用参数?
以rand参数为例,在链接后面输入?rand=true
即可,完整链接如下:
https://api.wannote.com/image/bing.php?rand=true
随机调用效果如下:(刷新本页)
指定日期调用,完整链接如下:
https://api.wannote.com/image/bing.php?day=1
指定日期调用如下:
如何自己制作Bing每日一图API?
首先在服务器目录新建一个php文件,例如: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");
方式二:自建简易随机图API
如果对必应每日一图不太满意,或者想调用自己的图片,可以参照以下方式自建:在网站目录新建XXX.php文件,粘贴如下代码
// 【来源:https://www.rsecc.cn/751.html,转载请注明】
<?php
$dir = 'myphoto'; //图片存放目录
$arr = scandir($dir); //列出目录下所有的文件
array_splice($arr,0,2); //移除数组中的元素,因为获取到的第一个和第二个元素是 . 和 .. 代表当前目录和上一级目录
shuffle($arr); //把数组中的元素按随机顺序重新排列
$image=$arr[0]; //读取重新排列后的数组中的第一个元素
Header("Location: $dir/$image");
?>
再新建myphoto文件夹作为图片库,将自己挑选的图片上传至该文件夹即可。最后使用“网址目录/XXX.php”访问即可随机调用自己的图片库。
本站自建随机图请求地址(可以直接拿去用):
https://api.wannote.com/image/rand.php
使用效果
快去拿你女朋友照片做一个随机图API吧!