【问题标题】:Using glob() to display images from a directory while echo'ing a unique first image使用 glob() 显示目录中的图像,同时回显唯一的第一张图像
【发布时间】:2013-05-12 21:25:21
【问题描述】:

我对 PHP 还很陌生,我不想在这里问任何问题,直到我绝对找不到方法。

我有一种情况,我想使用 PHP 从目录中读取和显示图像,但我希望读取的第一个图像被唯一地回显

我目前的代码如下:

$imageDir = "img/landMarks/carousel/";
$images = glob($imageDir.'*.jpg');
foreach ($images as $image){
echo '<div class="item">'."\r\n\t\t";
echo '<img src="'.$image.'" alt=""></div>'."\r\n\t";}

只是一个简单的目录拉取和格式化回显。

这将用于 BootStrap 轮播,不幸的是,第一个图像必须有 &lt;div class="item active"&gt; 否则整个事情都会失败。

重申一下,第一个拉取的图像需要是&lt;div class="item active"&gt;,而其余的需要是&lt;div class="item"&gt;

我想我已经抽了一整包香烟在这件事上绞尽脑汁。

【问题讨论】:

    标签: php loops directory glob


    【解决方案1】:

    为此使用一个标志。希望有所帮助。(-:

    $imageDir = "img/landMarks/carousel/";
    $images = glob($imageDir.'*.jpg');
    $flag=1;
    foreach ($images as $image){
    echo '<div class="item' .($flag?' active':''). '">'.PHP_EOL."\t\t";
    echo '<img src="'.$image.'" alt=""></div>'.PHP_EOL."\t";
    $flag=0;
    }
    

    【讨论】:

    • StackOverflow 新手,没有任何代表可以投票。但我肯定会接受你的回答。
    • 另外,PHP_EOL。这是换行而不是 \r\n 的首选方式吗?
    • @SeRosiS - 是的,而且使用 '" 更快。仅在需要时尝试使用"
    • 谢谢,我将开始在我当前的项目中实现它。
    • 只是一个友好的提醒,您的答案中 \t 周围的 ' 会导致 \t 与其他所有内容一起打印在 echo 中,否定标签。
    【解决方案2】:

    如何使用 for 循环而不是 foreach 循环。当 index == 0 时,您可以将“活动”添加到 div 的类中。

    注意 我没有运行这段代码——但它应该给你正确的想法。

    $imageDir = "img/landMarks/carousel/";
    $images = glob($imageDir.'*.jpg');
    for($i = 0; $i < count($images); $i++){
           //If the index is 0, it's the first image.
           $class = ($i == 0) ? 'item active' : 'item';
    
           //Dynamically change your div's class
           echo "<div class='$class'>\r\n\t\t";
           echo '<img src="'.$images[$i].'" alt=""></div>'."\r\n\t";
    }
    

    【讨论】:

    • 您好,您的代码错误,使用$images[$i] 而不是$image。我的呢?(-:
    • 已更新。抱歉,只是想向您展示 for 循环如何更适合该问题。感谢您的反对?
    • 现在两个答案都应该是正确的。感谢您的编辑,现在 +1 给您。(-:
    猜你喜欢
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多