Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
848 views
in Technique[技术] by (71.8m points)

php - Browse directory recursively and get files name

I have to do a php script who browse a directory with sub-directory. For each subdirectory (and maybe sub-subdirectory), I have to get filename and his parents directories.

Do you have a simple solution to do this please? Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Since I've had to create the same functionality for a website of mine too, I'll post my function as reference.

function recursiveFileSearch($path, $searchmask = "*") {
    $path = rtrim($path, '/');

    $files = array();
    if(is_array($searchmask)) {
        for($i = 0; $i < count($searchmask); $i++) {
            $files = array_merge($files, glob($path.'/'.$searchmask[$i]));
        }
        sort($files);
    } else {
        $files = glob($path.'/'.$searchmask);
    }


    $dirs = glob($path.'/*', GLOB_ONLYDIR);
    foreach($dirs as $dir) {
        if(is_dir($dir)) {
            $files = array_merge($files, recursiveFileSearch($dir, $searchmask));
        }
    }

    sort($files);
    return $files;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...