实现原理

1.PHP读取./image下图片的文件名,写入image.txt中
2.随机选择image.txt中某图片的文件名,构建该图片完整HTTPS URL
3.重定向到随机选择的图片(PHP7.4实现)

代码实现

1.读取图片文件名并写入image.txt:

<?php
$directory = './image';
$files = array_diff(scandir($directory), ['.', '..']);
$imageFiles = [];

foreach ($files as $file) {
    if (preg_match('/\.(jpg|jpeg|png|gif)$/i', $file)) {
        $imageFiles[] = $file;
    }
}

file_put_contents('image.txt', implode("\n", $imageFiles));
?>

2.读取image.txt并重定向随机图片:

<?php
// 读取 image.txt 文件
$imageList = file('image.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if ($imageList) {
    // 随机选择图片
    $randomImage = $imageList[array_rand($imageList)];
    // 构建图片的 HTTPS URL(假设你的服务器支持 HTTPS)
    $imageUrl = 'https://' . $_SERVER['HTTP_HOST'] . '/api_image' . '/image' . '/' . $randomImage;
    // 重定向到随机选择的图片
    header("Location: $imageUrl");
    exit;
} else {
    echo "没有找到图片文件。";
}
?>

脚本解释

  • 第一个PHP脚本会扫描./image目录,找到所有的图片文件,并将它们的文件名写入image.txt
  • 第二个PHP脚本会读取image.txt,随机选择一张图片,然后使用header函数进行重定向

请确保你的 PHP 环境允许文件读写操作,并且./image目录存在有效的图片文件,同时确保服务器支持 HTTPS 协议

此作者没有提供个人介绍
最后更新于 2024-11-09