- 前几天闲来无事 突然想找一个自己喜欢的随机图片api 但翻了半天也没找到自己喜欢的,索性干脆自己做一个
- 参考了网上一些文章,同时结合自己实际情况,也加上了一些解释。
准备
基本原理
随机图片API,主要原理其实很简单,就三步:
1.用一个文本文档存放图片的链接
2.当用户请求API时,php就去读取txt文件,然后生成随机数来随机选取一个图片链接
3.302重定向到目标图片地址
实现
下面给出最简单的实现方式,详细说明见注释
创建文件img.txt
用于存放图片地址,如
1 2 3 4 5 6
| https://pic.rmb.bdstatic.com/bjh/2000dbabb6e55dbb5d22a477d5da2980.png https://pic.rmb.bdstatic.com/bjh/1db4c20c76a11a6c614d36637d0e3275.png https://pic.rmb.bdstatic.com/bjh/60c3e5b2a53d1712a313e6aa73034e0e.png https://pic.rmb.bdstatic.com/bjh/8c973def0c8db3841ede52ac87986651.png https://pic.rmb.bdstatic.com/bjh/a8ccc755e00fddbd706b4c361b129141.png https://pic.rmb.bdstatic.com/bjh/ce101abfce373e1ad456c6484bb86f7b.png
|
创建 index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?php
$filename = "img.txt"; if(!file_exists($filename)){ die('文件不存在'); }
$pics = []; $fs = fopen($filename, "r"); while(!feof($fs)){ $line=trim(fgets($fs)); if($line!=''){ array_push($pics, $line); } }
$pic = $pics[array_rand($pics)];
$type=$_GET['type']; switch($type){
case 'json': header('Content-type:text/json'); die(json_encode(['pic'=>$pic])); default: die(header("Location: $pic")); } ?>
|
将img.txt和index.php放在同一个网站目录下,通过访问域名/index.php即可
DEMO
图床推荐
我目前用的是微博图床即刻图床
微博因为有防盗链 这边建议使用微博图床 插件
微博图床已经没用了,大家还是使用即刻图床吧
即刻图床 插件 它有许多大厂的接口 速度嘎嘎的快!
过几天我会写个自建图床的文章