介绍
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(蓝空图床)
系统要求
- 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
、七牛云
、又拍云
、SFTP
、FTP
、WebDav
、Minio
- 多种数据库驱动支持,
MySQL 5.7+
、PostgreSQL 9.6+
、SQLite 3.8.8+
、SQL Server 2017+
- 支持配置使用多种缓存驱动,
Memcached
、Redis
、DynamoDB
、等其他关系型数据库,默认以文件的方式缓存 - 多图上传、拖拽上传、粘贴上传、动态设置策略上传、复制、一键复制链接
- 强大的图片管理功能,瀑布流展示,支持鼠标右键、单选多选、重命名等操作
- 自由度极高的角色组配置,可以为每个组配置多个储存策略,同时储存策略可以配置多个角色组
- 可针对角色组设置上传文件、文件夹路径命名规则、上传频率限制、图片审核等功能
- 支持图片水印、文字水印、水印平铺、设置水印位置、X/y 轴偏移量设置、旋转角度等
- 支持通过接口上传、管理图片、管理相册
- 支持在线增量更新、跨版本更新
- 图片广场
部署
- 下载兰空,上传至 web 运行环境,解压。
- 设置运行目录为 public。
- 需要关闭PHP的
open_basedir
(宝塔对应配置为网站目录下的防跨站攻击) - 配置 Rewrite 规则(必须要配置):
Nginx:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Apache:
直接使用 .htaccess 即可
- 访问首页,未安装自动跳转至安装页面,根据页面提示安装即可。
- 将程序所在目录的所有文件夹、子文件夹、文件的权限,用户组和所有者改为
www
,权限改为0755
通常情况下,Web 站点目录的所有者和用户组为
www:www
若未正确设置权限,在后续的使用过程中可能会因为权限导致文件无法读取、无法写入、创建文件夹等一系列问题。
完成
然后你就可以直接上传(使用本地)或者配置存储了。
API的链接配置在url.csv,自带三十几张图,一行一个链接。但是我还是转移到自己的服务器上了(防止炸)最后的成果就是这个:
随机图片api(大图)
随机图片api(小图1:1)
你可以随意使用,只要我不忘记我的网站(之前干过)这个链接一直都会在。
API图片中的来源
大部分是pixiv上我自己保存的。
还有一部分需要特别说明的就是有关アボガド6的作品。
ta的作品来自这里
另附作品使用条款:
作品使用についての規約
如有我有任何使用问题欢迎联系(联系方式在关于里面)
版权属于:ShiroKumo
本文链接:https://www.shiro-kumo.com/archives/157/random-picture-api-and-picture-bed-match.html
所有原创文章采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
2 条评论
请问随机图的api是怎么配置的?
只是简单的在站点根目录建文件夹整出来的v1