Рубрики

Как считать файлы в каталоге с помощью PHP?

PHP содержит много функций, таких как count (), iterator_count (), glob (), openddir (), readdir (), scandir () и FilesystemIterator () для подсчета количества файлов в каталоге.

count () Функция : count () — это функция массива, которая используется для подсчета всех элементов в массиве или чего-либо в объекте. Эта функция использует COUNT_RECURSIVE в качестве режима для рекурсивного подсчета массива, который полезен для подсчета всех элементов многомерного массива.

Синтаксис:

int count( mixed $array_or_countable, int $mode = COUNT_NORMAL )

Функция glob (): Функция glob () — это функция файловой системы, которая ищет все возможные пути, соответствующие шаблону, в соответствии с правилами, используемыми функцией libc glob ().

Синтаксис:

glob( string $pattern, int $flags = 0 )

Программа 1: эта программа использует функции glob () и count () для подсчета всех файлов в каталоге.

<?php

  
// Установить текущий рабочий каталог

$directory = getcwd()."/";

  
// Инициализация переменной filecount

$filecount = 0;

  

$files2 = glob( $directory ."*" );

  

if( $files2 ) {

    $filecount = count($files2);

}

  

echo $filecount . "files ";

  
?>

Выход:

20 files

Функция openddir () : функция openddir () используется для открытия дескриптора каталога. Путь к открываемому каталогу отправляется как параметр в функцию opendir (), и он возвращает ресурс дескриптора каталога в случае успеха или FALSE в случае ошибки.

Синтаксис:

opendir( string $path, resource $context )

Функция readdir (): функция readdir () — это функция каталога, которая считывает записи из дескриптора каталога, которые возвращаются в том порядке, в котором они хранятся в файловой системе.

Синтаксис:

readdir( resource $dir_handle )

Программа 2: Эта программа использует функции openddir () и readdir () для подсчета всех файлов в каталоге.

<?php

  
// Установить текущий рабочий каталог

$dir = getcwd();

  
// Инициализируем переменную счетчика в 0

$i = 0; 

  

if( $handle = opendir($dir) ) {

      

    while( ($file = readdir($handle)) !== false ) {

        if( !in_array($file, array('.', '..')) && !is_dir($dir.$file)) 

            $i++;

    }

}

  
// Показать результат

echo "$i files";

  
?>

Выход:

20 files

Функция scandir (): функция scandir () используется для возврата массива файлов и каталогов указанного каталога. Функция scandir () выводит список файлов и каталогов, которые присутствуют в указанном пути.

Синтаксис:

scandir( string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, resource $context )

Программа 3: эта программа использует функции scandir () и count () для подсчета всех файлов в каталоге.

<?php

  
// Установить текущий рабочий каталог

$directory = getcwd()."/";

   
// Возвращает массив файлов

$files1 = scandir($directory);

   
// Подсчитать количество файлов и сохранить их в переменной

$num_files = count($files1) - 2;

  

echo $num_files . " files";

  
?>

Выход:

20 files

Функция FilesystemIterator (): Функция FilesystemIterator :: __ construct () используется для создания нового итератора файловой системы по пути.

Синтаксис:

FilesystemIterator::__construct( string $path, 
      int $flags = FilesystemIterator::KEY_AS_PATHNAME 
      | FilesystemIterator::CURRENT_AS_FILEINFO 
      | FilesystemIterator::SKIP_DOTS )

Функция iterator_count (): Функция iterator_count () SPL используется для подсчета элементов итератора.

Синтаксис:

int iterator_count( $iterator )

Программа 4: Эта программа использует функции FilesystemIterator () и iterator_count () для подсчета всех файлов в каталоге.

<?php

  

$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);

  

printf("%d files", iterator_count($fi));

  
?>

Выход:

20 files

Рекомендуемые посты:

Как считать файлы в каталоге с помощью PHP?

0.00 (0%) 0 votes