自建每日一图或随机图片API

还在为配图发愁吗?厌倦了单调的插图?来试一试每日一图/随机图片吧!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吧!

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧