实现原理
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 协议
Comments NOTHING