好的,我目前正在使用它:
<?php
$dirname = "cards/collecting/";
$images = glob($dirname."*.png");
foreach ($images as $image) {
$title = pathinfo($image);
echo '<img class="deck" src="'.$image.'" alt="'. $title['filename'].'" title="'.$title['filename'].'">';
}
?>
这会从文件夹中提取一堆小图像并显示它们。它工作得很好,但是我想在每个第5张图像之后有一个左右,因此它不会延伸到显示图像的整个div。我不确定我需要添加什么才能做到这一点。
提前致谢!
答案 0 :(得分:2)
使用索引,您可以编写&lt; br /&gt;每次索引+ 1是5的倍数:索引4,9,14等...请注意我使用$ i =&gt;在foreach中获得$ i的价值。
<?php
$dirname = "cards/collecting/";
$images = glob($dirname."*.png");
foreach ($images as $i=>$image) {
$title = pathinfo($image);
echo '<img class="deck" src="'.$image.'" alt="'. $title['filename'].'" title="'.$title['filename'].'">';
if(($i+1)%5 == 0) echo '<br/>';
}
?>
答案 1 :(得分:2)
最简单的方法是使用array_chunk
。
array array_chunk(array $ array,int $ size [,bool $ preserve_keys = false])
将数组块化为具有大小元素的数组。最后一个块可能包含少于大小的元素
代码示例:
$dirname = "cards/collecting/";
$images = glob($dirname."*.png");
$grp = array_chunk($images, 5, true);
foreach ($grp as $items) {
echo '<div class="item_grp">';
foreach ($items as $image) {
$title = pathinfo($image);
echo '<img class="deck" src="'.$image.'" alt="'. $title['filename'].'" title="'.$title['filename'].'">';
}
echo '</div>';
}