介绍

emmm...最开始是我的以前用的主题设置的bing的壁纸API不能用了,在换主题之前找过很多bing壁纸调用的方法,比如我自己整的:bing今天的壁纸
挺简单的用PHP实现的(当然代码不是我自己的,我只会HTML。。。)

<?php
$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');   // 从bing获取数据

if(preg_match('/<url>([^<]+)<\/url>/isU', $str, $matches)) { // 正则匹配抓取图片url
    $imgurl = 'http://cn.bing.com'.$matches[1];
} else {  // 如果由于某些原因,没抓取到图片地址
    $imgurl = 'https://api.berryapi.net/?service=App.Bing.Images&w=1920&h=1080&day=0'; // 使用默认的图像(默认图像链接可修改为自己的)
}

header("Location: {$imgurl}");    // 跳转至目标图像

里面藏了一个API来保证能准确调用。
换主题以后发现没有自带的随机头图功能了;其实最开始还没发现,后来参考 Sanakey的那篇魔改才注意到这个问题。。。


他提供了一个GitHub仓库(当然不是我要讲的):galnetwen/Random-Image

这个。。。你们就自己去看吧,我整了半天没整明白。
我翻了一下GitHub,找了一个更简单的:Crazy-White/Random-Picture

部署

API部署

部署过程相当简单,只需要去release下载最新版,解压到网站目录就可以了。服务器方面要用到PHP,Nginx或Apache任选,不需要数据库;或者你也可以fork后去Vercel部署;部署后访问会有主页面文档以及图片一览。
因为这个是以链接形式设置的,所以建议使用图床,或者自己部署。

图床部署

我自己用的是Lsky Pro(蓝空图床)

系统要求

2022年3月份后图床重构,更新到2.0,以下内容更新为现文档内容,有关旧版本更新到新版本的内容参考文档:升级指南

  • PHP >= 8.0.2
  • BCMath PHP 扩展
  • Ctype PHP 扩展
  • DOM PHP 拓展
  • Fileinfo PHP 扩展
  • JSON PHP 扩展
  • Mbstring PHP 扩展
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Tokenizer PHP 扩展
  • XML PHP 扩展
  • Imagick 拓展
  • exec、shell_exec 函数
  • readlink、symlink 函数
  • putenv、getenv 函数

功能

  • 支持 本地等多种第三方云储存 AWS S3阿里云 OSS腾讯云 COS七牛云又拍云SFTPFTPWebDavMinio
  • 多种数据库驱动支持,MySQL 5.7+PostgreSQL 9.6+SQLite 3.8.8+SQL Server 2017+
  • 支持配置使用多种缓存驱动,MemcachedRedisDynamoDB、等其他关系型数据库,默认以文件的方式缓存
  • 多图上传、拖拽上传、粘贴上传、动态设置策略上传、复制、一键复制链接
  • 强大的图片管理功能,瀑布流展示,支持鼠标右键、单选多选、重命名等操作
  • 自由度极高的角色组配置,可以为每个组配置多个储存策略,同时储存策略可以配置多个角色组
  • 可针对角色组设置上传文件、文件夹路径命名规则、上传频率限制、图片审核等功能
  • 支持图片水印、文字水印、水印平铺、设置水印位置、X/y 轴偏移量设置、旋转角度等
  • 支持通过接口上传、管理图片、管理相册
  • 支持在线增量更新、跨版本更新
  • 图片广场

部署

  1. 下载兰空,上传至 web 运行环境,解压。
  2. 设置运行目录为 public。
  3. 需要关闭PHP的 open_basedir (宝塔对应配置为网站目录下的防跨站攻击
  4. 配置 Rewrite 规则(必须要配置):

Nginx:

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

Apache:
直接使用 .htaccess 即可

  1. 访问首页,未安装自动跳转至安装页面,根据页面提示安装即可。
  2. 将程序所在目录的所有文件夹、子文件夹、文件的权限,用户组和所有者改为 www,权限改为 0755

通常情况下,Web 站点目录的所有者和用户组为 www:www

若未正确设置权限,在后续的使用过程中可能会因为权限导致文件无法读取、无法写入、创建文件夹等一系列问题。

完成

然后你就可以直接上传(使用本地)或者配置存储了。
API的链接配置在url.csv,自带三十几张图,一行一个链接。但是我还是转移到自己的服务器上了(防止炸)最后的成果就是这个:
随机图片api(大图)
随机图片api(小图1:1)
你可以随意使用,只要我不忘记我的网站(之前干过)这个链接一直都会在。

API图片中的来源

大部分是pixiv上我自己保存的。
还有一部分需要特别说明的就是有关アボガド6的作品。
ta的作品来自这里
另附作品使用条款:
作品使用についての規約

如有我有任何使用问题欢迎联系(联系方式在关于里面)

最后修改:2022 年 04 月 29 日
如果觉得我的文章对你有用,请随意赞赏