查看: 52|回复: 0

[后台] 两种方式轻松自制随机图片获取API

[复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:49
  • 打卡月天数:3
  • 打卡总奖励:383
  • 最近打卡:2025-08-20 09:34:54
发表于 2025-7-30 09:03:51 | 显示全部楼层 |阅读模式
在互联网中,我们常常需要快速获取各类图片资源。今天,就为大家带来一个超实用的教程,教你轻松搭建属于自己的随机图片获取API,从此告别四处寻觅图片API的繁琐。

方法一、外链读取txt
1.新建文件api.php
  1.     <?php
  2.     // 使用__DIR__常量获取当前脚本所在目录,并拼接文件路径
  3.     $filename = __DIR__. '/img.txt';
  4.     if (!file_exists($filename)) {
  5.         die('文件不存在');
  6.     }
  7.     // 打开文件并检查是否成功
  8.     $fs = fopen($filename, "r");
  9.     if (!$fs) {
  10.         die('无法打开文件');
  11.     }
  12.     // 从文本获取链接
  13.     $pics = [];
  14.     while (!feof($fs)) {
  15.         $line = trim(fgets($fs));
  16.         if ($line!== '') {
  17.             array_push($pics, $line);
  18.         }
  19.     }
  20.     fclose($fs);
  21.     // 从数组随机获取链接
  22.     $pic = $pics[array_rand($pics)];
  23.     // 获取type参数
  24.     $type = isset($_GET['type'])? $_GET['type'] : '';
  25.     switch ($type) {
  26.         // JSON返回
  27.         case 'json':
  28.             header('Content - type:text/json');
  29.             die(json_encode(['pic' => $pic]));
  30.         default:
  31.             // 验证链接是否合法
  32.             if (!filter_var($pic, FILTER_VALIDATE_URL)) {
  33.                 die('无效的图片链接');
  34.             }
  35.             die(header("Location: $pic"));
  36.     }
复制代码
2.新建文件img.txt
  1. http://example.com/image1.jpg
  2.     http://example.com/image2.jpg
  3.     http://example.com/image3.jpg
复制代码


方法二、读取本地目录模式
  1. <?php
  2.     $img_array = glob("images/*.{gif,jpg,png}", GLOB_BRACE);
  3.     if (!empty($img_array)) {
  4.         $img = array_rand($img_array);
  5.         $dz = $img_array[$img];
  6.         header("Location: " . $dz);
  7.         exit; // 重定向后终止脚本执行
  8.     } else {
  9.         echo "没有找到符合条件的图片文件。";
  10.     }
  11.     ?>
复制代码
图片丢到images文件夹下,访问api.php即可
来源:白衣博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表