0

我正在建立一个网站,人们可以在那里上传图片、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;
?> 

我希望能够在用户向下滚动时向其中添加一个功能,这些包含图像的文章越来越多,每篇文章都包含一个随机但以前未显示的文件。如何在无需手动输入唯一变量的情况下随机显示文件?

PS 现在我没有任何文件存储在数据库中。

4

1 回答 1

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
}
?>
于 2013-07-18T09:29:31.703 回答