温馨提示:

本文最后更新于2024年10月06日,已超过313天没有更新,若内容或图片失效,请留言反馈。

最近比较想搞一个api随机图片拿来自己用,今后我就不搞api图片了,该更新还是会更新的

前言

搭建的方法有两种

第一种,比较占资源,如果你服务器性能好无所谓的话可以考虑

第二种,不是很不稳定,可以考虑

以下代码十分简洁,建议修改后使用,也可以直接使用

ps:本文只提供代码和大概的搭建方法,不会搭建环境等等...的自行查资料

第一种,本地随机图片

需要一个目录,比如名称为img的目录;然后和一个名称叫作images.php的代码文件

创建好目录后,需要目录中含有图片

目录结构:

- img
images.php

images.php的代码:

<?php  
// 获取 img/ 目录下的所有 gif, jpg, 和 png 图片  
$imageFiles = glob("img/*.{gif,jpg,png}", GLOB_BRACE);  
  
// 检查是否有图片文件  
if (count($imageFiles) > 0) {  
    // 随机选择一个图片文件的索引  
    $randomImageIndex = array_rand($imageFiles);  
      
    // 获取随机选择的图片文件的路径  
    $randomImagePath = $imageFiles[$randomImageIndex];  
      
    // 重定向到该图片  
    header("Location: " . $randomImagePath);  
    exit; // 确保在重定向后停止脚本的执行  
} else {  
    // 如果没有找到图片文件,可以输出一个错误消息或执行其他操作  
    header("HTTP/1.0 404 Not Found");  
    echo "No images found in the directory.";  
    exit;  
}  
?>

第二种,外链随机图片

这个需要一个代码文件,和一个txt文本文件。

比如:

代码文件叫:images.php ,txt文件叫'img.txt,把它们放在同一个目录中;

然后txt文件只需要放你需要的外链链接,放入的链接一行一个。

<?php   
// 读取 img.txt 文件到数组  
$lines = file('img.txt');  
  
// 获取数组长度并减一,因为数组索引从0开始  
$n = count($lines) - 1;  
  
// 如果数组不为空  
if ($n >= 0) {  
    // 随机选择一个索引  
    $randomIndex = rand(0, $n);  
  
    // 从数组中取出随机的URL  
    $randomUrl = trim($lines[$randomIndex]); // 使用 trim 去除行首行尾的空白字符  
  
    // 重定向到随机的URL  
    header("Location: " . $randomUrl);  
    exit; // 确保重定向后立即停止脚本执行  
} else {  
    // 文件为空或无法读取,输出错误消息  
    header("HTTP/1.0 404 Not Found");  
    echo "No URLs found in the file.";  
    exit;  
}  
?>

搭建成功!

搭建成功了,展示一下(图片可能失效,或太慢)

成功案例

说明

为了避开浏览器缓存导致的同一页面的所有图片都一样,可以给同一页面调用同一接口的url后面各加个随机的参数(abc中是数字)

<img src="https://woshisuaige/suijitupian.php?t=abc" alt="img">

如果第一个代码用不了,可以换个思路,把第二个代码搞成 本地随机图片