如何使用PHP显示文件夹中的所有图像

时间:2017-05-04 23:01:33

标签: php foreach glob

我目前正在使用以下代码返回显示文件夹中所有图片的页面:

echo'';   $array=glob('ebayimg/9150gba041117/size_2/*');
foreach($array as $zf) 
echo '<img src="http://www.gbamedical.com/'.$zf.'">’;

我需要能够执行类似下面的代码,除了代码中每个图片需要出现两次,我需要动态添加单词“image1,image2等”,因为那里有很多图片在文件夹中。 。 。 。如下所示。下面的例子只显示了两张图片,但我需要它来返回代码,因为文件夹中有很多图片。

<div class="slider">

<input type="radio" name="slide" id="image1" checked/>
<label for="image1">
<img   src="http://www.gbamedical.com/ebayimg/9150gba041117/size_2/IMG_9633.JPG"/>
</label>
<img src="http://www.gbamedical.com/ebayimg/9150gba041117/size_2/IMG_9633.JPG" height="480"/>

<input type="radio" name="slide" id="image2"/>
<label for="image2">
<img src="http://www.gbamedical.com/ebayimg/9150gba041117/size_2/IMG_9638.JPG"/>
</label>
<img src="http://www.gbamedical.com/ebayimg/9150gba041117/size_2/IMG_9638.JPG" height="480"/>
</div>

2 个答案:

答案 0 :(得分:0)

由于glob()会返回基于数字的数组,因此请使用 $ key =&gt; $ value foreach的语法。那样$index将对应于索引(0 - 最后一个索引)。此外,checked可以有条件地包含在字符串中。请参阅下面的示例。

foreach($array as $index => $zf) 
    $checked = ''; //not checked
    if (!$index) { // equal to 0, for first item
        $checked = 'checked';
    }
    echo '<input type="radio" name="slide" id="image'.($index+1).'" '.$checked.'/>'.
         '<label for="image'.($index+1).'">'.
         '<img src="http://www.gbamedical.com/'.$zf.'" />'.
         '</label>'.
         '<img src="http://www.gbamedical.com/'.$zf.'" height="480" />';
}

答案 1 :(得分:0)

你可以这样做:

<?php
$array = glob('ebayimg/9150gba041117/size_2/*');
$i = 1;
foreach($array as $image) {
    ?>
    <input type="radio" name="slide" id="image<?php echo $i ?>" <?php if($i == 1){ ?> checked <?php } ?>/>
    <label for="image<?php echo $i ?>">
        <img src="http://www.gbamedical.com/<?php echo $image ?>"/>
    </label>
    <img src="http://www.gbamedical.com/<?php echo $image ?>"/>
    <?php
    $i++;
}
?>