Для сканирования всех каталогов и файлов в PHP вы можете использовать различные методы и функции. Вот несколько примеров:
-
Рекурсивная итерация каталога:
function scanDirectories($dir) { $result = []; $files = scandir($dir); foreach ($files as $file) { if ($file != '.' && $file != '..') { $path = $dir . '/' . $file; if (is_dir($path)) { $result = array_merge($result, scanDirectories($path)); } else { $result[] = $path; } } } return $result; } $directory = '/path/to/directory'; $files = scanDirectories($directory);Этот метод использует рекурсию для сканирования всех каталогов и подкаталогов в данном каталоге.
-
RecursiveIteratorIterator:
function scanDirectories($dir) { $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD // Ignore "Permission denied" ); $result = []; foreach ($iterator as $path => $file) { if ($file->isDir()) { $result[] = $path; } } return $result; } $directory = '/path/to/directory'; $directories = scanDirectories($directory);Этот метод использует класс
RecursiveIteratorIteratorдля перебора каталогов и подкаталогов. -
Функция glob():
$files = glob('/path/to/directory/*', GLOB_ONLYDIR);Функция
glob()с флагомGLOB_ONLYDIRможет использоваться для получения всех каталогов по указанному пути.
Это всего лишь несколько примеров методов сканирования каталогов и файлов в PHP. Не забудьте заменить /path/to/directoryфактическим путем, который вы хотите сканировать.