tolik8
1/13/2019 - 8:18 PM

function get files (directories) recursive

function get files (directories) list with recursion

<?php

function getFiles ($path, $mode = 'FILES', &$result = [])
{
    if (substr($path, -1) != DIRECTORY_SEPARATOR) {
        $path .= DIRECTORY_SEPARATOR;
    }
    
    $items = scandir($path);
    
    foreach ($items as $item) {
        
        $full_name = $path . $item;
        
        if (is_dir($full_name) & $item != '.' & $item != '..') {
            if ($mode == 'DIRS') {
                $result[] = $full_name;
                getFiles($full_name, 'DIRS', $result);
            }
            if ($mode == 'FILES') {
                getFiles($full_name, 'FILES', $result);
            }
        }
        if ($mode == 'FILES' & is_file($full_name)) {
            $result[] = $full_name;
        }
    }
    return $result;
}

$path = 'c:\OSPanel\modules\conemu';
$dirs = getFiles($path, 'DIRS');
$files = getFiles($path);
var_dump($dirs);
var_dump($files);