随机图片API接口源码

前言

  • 本站因背景图或者缩略图等需求需要用到随机图片的API接口。
  • 但是用别人的接口,会担心某天接口GG了。
  • 所以自己根据网上的教程之类的写了一个PHP的随机图片API接口。

源码教程

里面有很多注释标明的很清楚了,参数type的作用是返回的类型(可空,默认返回down),如showdownjson

  • show:直接返回一张图片
  • down:直链下载方式
  • json:返回json格式的文本

首先新建一个dongman.txt 的文本,将图片的URL地址放进去,然后新建一个random.php 的文件,最后将下方代码填写进去。

开源代码

<?php
//存有美图链接的文件名img.txt
$filename = "dongman.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'];

//设置缓存控制
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

//JSON返回
if (isset($_GET['type']) && $_GET['type'] === 'json') {
    $response = array(
        'code' => 200,
        'img' => $pic
    );
    header('Content-Type: application/json');
    echo json_encode($response);
}elseif (isset($_GET['type']) && $_GET['type'] === 'show') {
    echo '<img src="' . $pic . '" />';
}elseif (isset($_GET['type']) && $_GET['type'] === 'down') {
    header("location:$pic");
}else {
    header("location:$pic");   
}
?>
THE END