侧边栏壁纸
博主头像
尘荞Joueur博主等级

行动起来,活在当下

  • 累计撰写 86 篇文章
  • 累计创建 42 个标签
  • 累计收到 163 条评论

目 录CONTENT

文章目录
VPS

搭建随机图API的几种方式

Administrator
2023-02-11 / 0 评论 / 3 点赞 / 135 阅读 / 2954 字

第①种方式

随机图片API,主要原理其实很简单就三步:

  1. 用一个文本文档存放图片的链接
  2. 当用户请求API时,php就去读取txt文件,然后生成随机数来随机选取一个图片链接
  3. 302重定向到目标图片地址

搭建需求

  • 一台服务器
  • 已经搭建好的php环境

服务器购买推荐:

点击直达 腾讯云服务器
点击直达 海外VT服务器
点击直达 阿里云服务器

简单的实现方式,详细说明见注释创建文件img.txt用于存放图片地址(示例如下)

https://tc.bangzili.gq/i/2023/02/11/f4sljv.png
https://tc.bangzili.gq/i/2023/02/11/f4siv5.jpg

创建index.php

    <?php
   //存有美图链接的文件名img.txt
    $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){
 
   //JSON返回
    case 'json':
      header('Content-type:text/json');
      die(json_encode(['pic'=>$pic]));
 
    default:
      die(header("Location: $pic"));
   }
 
   ?>
  • 说明:将img.txt和index.php放在同一个网站目录下,通过访问域名/index.php即可!
  • 图床我用的EasyImage+兰空图床

第②种方式

在根目录下创建 api.php 文件,随后创建一个名为img 的文件夹,将图片存放进 img 文件夹下!

填写代码(任选其一)

第一:

<?php
$img_array = glob('img/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE);
if(count($img_array) == 0) die('没有找到图片文件。MuaOoO ~ '.dirname(__FILE__).'/img/ 文件夹');
header('Content-Type: image/png');
echo(file_get_contents($img_array[array_rand($img_array)]));
?>
  • 代码第四行 header(‘Content-Type: image/png’);png 应改为自己照片格式,整个文件夹照片格式应统一。

第二:

<?php
$img_array = glob("img/*.{webp,gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?>
  • http:// 域名/api.php
3

评论区