如何在回显目录文件夹中的图像时添加限制?

时间:2017-03-23 08:13:08

标签: php directory glob

下面是一个回显目录文件夹中所有图像的脚本,它没有任何问题。但是,我只是试图将回显的图像数量限制在8或更少。任何帮助表示赞赏。

PHP:

$files = glob("images/*.*");
    
for ($i=1; $i<count($files); $i++){
  $image = $files[$i];
  $supported_file = array(
    'gif',
    'jpg',
    'jpeg',
    'png'
  );
    
  $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
  if (in_array($ext, $supported_file)) {
    echo '<div class="col-md-6 col-xs-4">';   
    echo '<img src="'.$image .'" alt="Random image"  class="your_images" />'."<br /><br />";
    echo '</div>';   
  } else {
    continue;
  }
}

2 个答案:

答案 0 :(得分:1)

就像拉曼所说的那样,对for的一个简单修改就是这样做

$maxImages = 8;

for ($i=1; $i<=count($files) && $i<=$maxImages; $i++) {
    // do your stuff
}

如果文件夹中没有8张图像,则需要计算图像数

答案 1 :(得分:1)

试试这个:

$limit = 8; // number of images
$start = 0;// or $start = count($$files)-$limit)
$files = glob("images/*.{jpeg,jpg,png,gif}", GLOB_BRACE);
$limit = ((count($files))>$limit)? $limit : count($files);// to take into account situation where we have less than 8 images
foreach(array_slice($files,$start, $limit) as $image){ 
echo '<div class="col-md-6 col-xs-4">';   
    echo '<img src="'.$image .'" alt="Random image"  class="your_images"     />'."<br/><br/>";
    echo '</div>';   
}

希望它有所帮助。