搭建一个属于自己的随机壁纸api

xioy
2024-11-21 / 0 评论 / 2 阅读 / 正在检测是否收录...

第一种:以图片源文件进行随机

第一步:创建一个名为img的文件夹(这个文件里放你需要的图片)
第二步:创建一个名为index.php文件,写入以下代码 (这个文件就是api)

<?php
// 缓存文件
$cacheFile = 'cache.txt';

// 检查缓存文件是否存在且未过期(1小时)
$cacheValid = file_exists($cacheFile) && (time() - filemtime($cacheFile)) < 3600;

if ($cacheValid) {
    // 从缓存文件中读取图片URL
    $images = file($cacheFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
} else {
    // 从img文件夹中读取所有图片
    $images = glob('img/*.{jpg,jpeg,png,gif}', GLOB_BRACE);

    // 如果没有找到图片,则输出错误信息并退出
    if (empty($images)) {
        die('没有图片');
    }

    // 将图片列表写入缓存文件
    file_put_contents($cacheFile, implode(PHP_EOL, $images));
}

// 随机选择一个图片(不需要设置随机数种子)
$randomImage = $images[array_rand($images)];

// 重定向到随机图片
header('Location: ' . $randomImage);
exit;
?>

第二种:以图片链接进行随机

第一步:创建一个名为img.txt文件 (在这个文件里放你储存的图片链接,一行一条)
第二步:创建一个名为index.php文件,写入以下代码(这个文件就是api)

<?php
// 放置图片URL的文件
$imageFilePath = 'img.txt';

// 检查文件是否存在
if (!file_exists($imageFilePath)) {
    die('缺少所需文件');
}

// 从文件中读取图片URL
$images = file($imageFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// 如果没有找到图片URL,则输出错误信息并退出
if (empty($images)) {
    die('文件中缺少图片URL');
}

// 随机选择一个URL
$randomImage = $images[array_rand($images)];

// 重定向到随机图片
header('Location: ' . $randomImage);
exit;
?>
1

评论 (0)

取消