Возвратите общее количество файлов в папке с помощью PHP

Вам необходимо переместить ваш <clr-modal></clr-modal> div так, чтобы он находился под <div class="main-container"></div> div. Это выведет его из внутренних элементов и наложит модальное поверх всего. Установка z-index для дочерних элементов не будет работать.

12
задан user2513149 25 June 2013 в 17:13
поделиться

5 ответов

Проверьте Стандартную Библиотеку PHP (иначе SPL) для DirectoryIterator:

$dir = new DirectoryIterator('/path/to/dir');
foreach($dir as $file ){
  $x += (isImage($file)) ? 1 : 0;
}

(К вашему сведению существует недокументированная функция, вызванная iterator_count (), но вероятно лучше всего не полагаться на него на данный момент я вообразил бы. И необходимо было бы отфильтровать невидимый материал как. и.. так или иначе.)

25
ответ дан 2 December 2019 в 03:04
поделиться

Это даст Вам количество того, что находится в Вашем dir. Я уеду, часть о подсчете только отображает Вам, поскольку я собираюсь fallll aaasssllleeelppppppzzzzzzzzzzzzz.

iterator_count(new DirectoryIterator('path/to/dir/'));
14
ответ дан 2 December 2019 в 03:04
поделиться

Вы могли использовать glob...

$count = 0;
foreach (glob("*.*") as $file) {
    if (isImage($file)) ++$count;
}

или, я не уверен, как хорошо это удовлетворило бы Вашим потребностям, но Вы могли сделать это:

$count = count(glob("*.{jpg,png,gif,bmp}"));
3
ответ дан 2 December 2019 в 03:04
поделиться

Ваш ответ кажется, намеревается столь простой, как можно получить его. Я не могу думать о более коротком пути к нему или в PHP или в Perl.

Вы смогли к системе / исполнительная команда, включающая ls, туалет и grep при использовании Linux, зависящего, как сложный isImage ().

Независимо, я думаю, что Вы имеете, довольно достаточно. Только необходимо записать функцию однажды.

0
ответ дан 2 December 2019 в 03:04
поделиться

Вы также можете использовать SPL для фильтрации содержимого DirectoryIterator с помощью вашей функции isImage , расширив абстрактную ] FilterIterator класс.

class ImageIterator extends FilterIterator {

    public function __construct($path)
    {
        parent::__construct(new DirectoryIterator($path));
    }

    public function accept()
    {
        return isImage($this->getInnerIterator());
    }
}

Затем вы можете использовать iterator_count (или реализовать интерфейс Countable и использовать встроенную функцию count ) для определения числа изображений. Например:

$images = new ImageIterator('/path/to/images');
printf('Found %d images!', iterator_count($images));

Используя этот подход, в зависимости от того, как вам нужно использовать этот код, может иметь смысл переместить функцию isImage в класс ImageIterator , чтобы все было аккуратно в одном месте.

1
ответ дан 2 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: