我正在建立一个人们可以去上传图片,GIF和视频的网站。在主页上,我想从上传目录中随机列出文件。
<article class="item thumb" data-width="384">
<h2><?php echo $file_title;?></h2>
<a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage ?>" alt=""></a>
</article>
<article class="item thumb" data-width="274">
<h2><?php echo $file_title;?></h2>
<a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage ?>" alt=""></a>
</article>
这样做总共五次。 $ randomImage是从代码生成的:
<?php
$imagesDir = 'uploads/';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
$file_title = $randomImage;
?>
我希望能够在用户向下滚动的位置添加一个功能,这些包含图像的文章越来越多,每个文章都包含一个随机但未显示的文件。如何在不必手动输入唯一变量的情况下随机显示文件?
P.S。现在我没有任何文件存储在数据库中。
答案 0 :(得分:0)
从$images
中删除随机选择的图像,然后再选择另一个。
循环播放5张图片
<?php
// get all files
$imagesDir = 'uploads/';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$imagesCount = count($images);
for($i = 0 ; $i < $imagesCount ; $i++) {
// select image
$randomIndex = array_rand($images); // select image index
$file_title = $randomImage = $images[$randomIndex]; // use selected image
unset($images[$randomIndex]); // remove selected image
// print_r($images); // you can see what left in $images
// show image
?>
<article class="item thumb">
<h2><?php echo $file_title;?></h2>
<a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage ?>" alt=""></a>
</article>
<?php
}
?>