正在从随机文件夹创建图像列表


Creating image list from random folder

我下面有这段PHP代码,我想在一些帮助下进行一些调整。

我需要根据指向特定文件夹的URL(使用表达式引擎)生成一个图像列表。

目前,这段代码运行得很好,但我还需要它做两件事。。。

  1. 如果找不到文件夹,则向上移动。。。例如,如果它找不到目录/子目录,它将关闭并在目录中搜索。(这显然需要在一定水平上停止)

  2. 生成文件夹中所有图像的列表,而不仅仅是下面这样的一个。

    <?php
    $bgimagearray = array();
    $iterator = new DirectoryIterator("sites/domain.co.uk/public_html/assets/images/bg-images/{last_segment}");
    foreach ($iterator as $fileinfo) {
        if ($fileinfo->isFile() && !preg_match('/-c'.jpg$/', $fileinfo->getFilename())) {
            $bgimagearray[] = "'" . $fileinfo->getFilename() . "'";
        }
    }
    $bgimage = array_rand($bgimagearray);
    ?>
    
    <div id="backgroundImage"> 
            <img src="{site_url}assets/images/bg-images/{last_segment}/<?php echo trim($bgimagearray[$bgimage], "'"); ?>" alt="{last_segment}" />
    </div>
    

在第一个问题上,您可以使用dirnamephp函数。对于另一个问题,即获取所有文件而不是一个文件,您已经在$bgimagearray中拥有了整个数组,因此可以使用foreach对其进行迭代。