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

时间:2011-06-07 20:24:50

标签: php background-image expressionengine

我在下面有这个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>
    

1 个答案:

答案 0 :(得分:0)

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