PHP:glob函数中的glob功能,用于创建带图像的填充网格


PHP: glob function within a glob function to create populating grid w/images

我在这个问题上遇到了一些困难,想知道是否有人能找到解决方案。

https://i.stack.imgur.com/c34x0.jpg

上图是我正在做的工作。这些是项目块,每个项目块代表一个目录。在每个目录中,都会显示这些目录的缩略图,包括标题(例如SAMPLE_2)、类别(例如Data Analytics)、短desc(黄色)、长desc(未图示)和技能。

现在,顶部的图像将被读取、显示,并沿着flexslider转盘移动。别介意边界,他们在那里看我在哪里。

下面是我的变量,$img是要开始工作的变量,我稍后会解释。

$base = "projects"; //main project directory
$categ = "*"; //category for each type of project
$pro = "*"; //project directory
$img = "images/img/*"; //thumbnail project images directory

正如你在下面看到的,我为每个$base/$categ/$pro都有一个glob函数,它将作为$folder传递,它打印出与该项目相关的图像。下面的代码只是缩略图,而不是项目描述部分。(没关系)

foreach(glob("$base/$categ/$pro") as $folder)
{
    <ul>
     echo "<li><img src='$folder/images/img/pic1.jpg'/></li>";
     echo "<li><img src='$folder/images/img/pic2.jpg'/></li>";
    </ul>
}

这样做很好,但现在我想传递一个函数,该函数将从images/img目录中读取并打印该目录中的所有图像。

所以使用

$img = "/images/img/*";

我想完成这个

echo "<li><img src='$folder/$img'/></li>";

无需添加另一个li。我已经尝试过:

if(glob($img.'{jpg,gif,png,bmp}', GLOB_BRACE)){
  echo "<li><img src='$folder/$img'/></li>";
};

但不起作用。尝试了"foreach"而不是"if",但没有显示任何内容。那么,在一个glob函数里面有可能存在一个globe函数吗。如果是这样的话,我怎么才能让这些图像显示出来呢?(每个项目都会不同,所以每个项目当然会显示不同的图像。)

谢谢,我会更新的。

明白了!!!!

所以我用了:

$img = "images/img/*";

对第一个球进行了调整:

foreach(glob("$base/$categ/$pro/") as $folder)

制作了一个名为"图像"的新变量

$images = (glob($folder.$img.'{jpg,gif,png,bmp}', GLOB_BRACE));

结果是:

$base = "projects"; 
$categ = "*"; 
$pro = "*"; 
$img = "images/img/*"; //thumbnail project images directory
foreach(glob("$base/$categ/$pro/") as $folder)
{
   $images = (glob($folder.$img.'{jpg,gif,png,bmp}', GLOB_BRACE));
    foreach($images as $image) {
    <ul>
    echo "<li><img src='$image'/></li>";
    </ul>
     };
};