Как установить ограничение на количество изображений, которые можно показать в карусели изображений? (PHP) - PullRequest
1 голос
/ 27 октября 2019

Вот мой код (у меня есть связанный внешний файл JS и jQuery, и моя папка с изображениями называется uploads/):

Итак, в настоящее время здесь отображаются все загружаемые мной изображения. Я хочу ограничить количество отображаемых изображений.

Я хочу ограничить это, чтобы показывать только последние 4 изображения. Есть ли способ? Спасибо!

<?php include("header.inc"); ?>

<?php include("nav.inc"); ?>


<?php
    $files = scandir("uploads/");
?>

    <div id="myCarousel" class="carousel slide" data-ride="carousel">
      <!-- Indicators -->
      <ol class="carousel-indicators">

          <?php
              $i = 0;
              for($a = 2; $a < count($files); $a++):
          ?>

        <li data-target="#myCarousel" data-slide-to="<?php echo $i; ?>" class="<?php echo $i == 0 ? 'active': ''; ?>"></li>

          <?php
              $i++;
              endfor;
          ?>

      </ol>

      <!-- Wrapper for slides -->
      <div class="carousel-inner">

          <?php
              $i = 0;
              for($a = 2; $a < count($files); $a++):
          ?>

        <div class="item <?php echo $i == 0 ? 'active': ''; ?>" align="center">
          <img src="uploads/<?php echo $files[$a]; ?>" style="width: 640px; height: 640px;">
        </div>

          <?php
              $i++;
              endfor;
          ?>

      </div>

      <!-- Left and right controls -->
      <a class="left carousel-control" href="#myCarousel" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left"></span>
        <span class="sr-only">Previous</span>
      </a>
      <a class="right carousel-control" href="#myCarousel" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>

<?php include("footer.inc"); ?>

<!-- end snippet -->

1 Ответ

0 голосов
/ 27 октября 2019

Заменить:

$files = scandir("uploads/");

на:

const CAROUSEL_LENGTH = 4;   // Should be on top of script or in a config file
$files = array_slice(scandir('uploads/', SCANDIR_SORT_DESCENDING), 0, CAROUSEL_LENGTH);

Флаг SCANDIR_SORT_DESCENDING будет сортировать файлы по отметке времени (см. этот пост для получения более подробной информации. объяснение глубины) и array_slice займет первые четыре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...