我下面有这段PHP代码,我想在一些帮助下进行一些调整。
我需要根据指向特定文件夹的URL(使用表达式引擎)生成一个图像列表。
目前,这段代码运行得很好,但我还需要它做两件事。。。
-
如果找不到文件夹,则向上移动。。。例如,如果它找不到目录/子目录,它将关闭并在目录中搜索。(这显然需要在一定水平上停止)
-
生成文件夹中所有图像的列表,而不仅仅是下面这样的一个。
<?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对其进行迭代。