介绍
emmm...最开始是我的以前用的主题设置的bing的壁纸API不能用了,在换主题之前找过很多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仓库(当然不是我要讲的):
这个。。。你们就自己去看吧,我整了半天没整明白。
我翻了一下GitHub,找了一个更简单的:
部署
API部署
部署过程相当简单,只需要去release下载最新版,解压到网站目录就可以了。服务器方面要用到PHP,Nginx或Apache任选,不需要数据库;或者你也可以fork后去Vercel部署;部署后访问会有主页面文档以及图片一览。
因为这个是以链接形式设置的,所以建议使用图床,或者自己部署。
图床部署
我自己用的是Lsky Pro(蓝空图床)
系统要求
- PHP 版本 ≥ 5.6(≤ 7.3)
- mysql 版本 ≥ 5.5
- PDO 拓展
- ZipArchive 支持
- fileinfo 拓展
- curl 拓展
注:推荐使用 PHP 7.3, 如果使用 FTP 功能,需要开启 PHP 的 FTP 拓展
功能
- [x] 支持第三方云储存,本地、阿里云 OSS、腾讯云 COS、七牛云、又拍云、FTP
- [x] 多图上传、拖拽上传、粘贴上传、上传预览、全屏预览、页面响应式布局
- [x] 简洁的图片管理功能,支持鼠标右键、单选多选、重命名等操作
- [x] 全局配置用户初始剩余储存空间、设置指定用户剩余储存空间
- [x] 一键复制图片外链、二维码扫描链接、图片鉴黄功能
- [x] 设置上传文件、文件夹路径命名规则、文件夹分类功能
- [x] 接口上传、图片软删除
- [x] OTA 平滑升级系统
- [x] (Dark)暗黑主题
- [x] IP 封禁功能(支持通配符)
- [x] 自定义链接参数
- [x] 单用户模式
- [ ] 图片广场...
部署
- 下载兰空,上传至 web 运行环境,解压。
- 设置运行目录为 public。
- 配置 Rewrite 规则(必须要配置):
Nginx:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
Apache:
Apache 直接使用 .htaccess 即可
- 访问首页,未安装自动跳转至安装页面,根据页面提示安装即可。
- 安装完成以后请设置 runtime 目录 0755 权限,如果你使用本地存储,public 目录也需要设置为 0755 权限
完成
然后你就可以直接上传(使用本地)或者配置存储了。
API的链接配置在url.csv,自带三十几张图,一行一个链接。但是我还是转移到自己的服务器上了(防止炸)最后的成果就是这个:
你可以随意使用,只要我不忘记我的网站(之前干过)这个链接一直都会在。
API图片中的来源
大部分是pixiv上我自己保存的。
还有一部分需要特别说明的就是有关アボガド6的作品。
ta的作品来自这里
另附作品使用条款:
作品使用についての規約:
https://www.avogado6.com/guideline
如有我有任何使用问题欢迎联系(联系方式在关于里面)
API状态
大图 | 小图 | 背景大图 | 背景小图 |
---|---|---|---|
版权属于:ShiroKumo
本文链接:https://www.shiro-kumo.com/archives/157/random-picture-api-and-picture-bed-match.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。相关协议请到左侧导航栏中“页面 > 知识共享许可协议”查看。