使用PHP从目录中随机生成多个文件

使用PHP从目录中随机生成多个文件,php,html,image,loading,random-sample,Php,Html,Image,Loading,Random Sample,我正在建立一个网站,人们可以去那里上传图片、礼物和视频。在主页上,我想随机列出上传目录中的文件 <article class="item thumb" data-width="384"> <h2><?php echo $file_title;?></h2> <a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage

我正在建立一个网站,人们可以去那里上传图片、礼物和视频。在主页上,我想随机列出上传目录中的文件

<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>

它总共做了五次$随机图像由以下代码生成:

<?php
   $imagesDir = 'uploads/';
   $images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
   $randomImage = $images[array_rand($images)];
   $file_title = $randomImage;
?> 

我希望能够添加一个功能,当用户向下滚动时,越来越多包含图像的文章显示出来,每个文章都包含一个随机但以前没有显示的文件。如何在不必手动输入唯一变量的情况下随机显示文件


另外,我现在没有任何文件存储在数据库中

$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
}
?>


我使用了这个代码,它在每个块上加载相同的图像。调用“alt=”时应该使用什么变量“>而不是$randomimage?您必须在每个块之前获得新的
$randomimage
。在我的答案中看到新代码。完美!我需要它在加载越来越多的块时继续加载图像,而不是只循环5个图像。将会有一个功能,当用户滚动时,会出现更多的内容框。如何将此代码设置为永久循环,并继续确保相同的图像不会被加载两次?使用
count($images)
可以获得所有图像-请参见上面的代码-但它会同时提供所有图像。如果在用户滚动时需要加载更多块,则需要JavaScript+Ajax和PHP在文件中记住
$images
。或者您可以将
$images
发送到javascript并用javascript完成所有工作(选择random image并显示下一个块)