예제 #1
0
파일: genjson.php 프로젝트: Harvie/Programs
function recursive_scandir($path, &$dir)
{
    foreach ($dir as $key => $value) {
        $dir[$key] = array_flip(scandir($path . '/' . $key, 0));
        unset($dir[$key]['.']);
        unset($dir[$key]['..']);
        recursive_scandir($path . '/' . $key, $dir[$key]);
    }
}
예제 #2
0
function recursive_scandir($dir, $level, $max)
{
    if ($level >= $max) {
        return '<li class="none">Recursion Limit</li>';
    }
    $scan = @scandir($dir);
    if ($scan === false) {
        return '<li class="dir">Access Denied</li>';
    }
    $files = '';
    $folders = '';
    foreach ($scan as $file) {
        if ($file === '.' || $file === '..' && $level > 0) {
            continue;
        }
        if (is_file("{$dir}/{$file}")) {
            $files .= '<li class="' . get_Type(end(explode('.', $file))) . '"><a href="' . str_replace(' ', "%20", html("../{$dir}/{$file}")) . '">' . html($file) . '</a></li>';
        } else {
            if ($file === '..') {
                $folders .= '<li class="parent"><a href="' . $file . '/">Parent Directory</a></li>';
            } else {
                $folders .= '<li class="dir"><a href="' . str_replace(' ', "%20", html("../{$dir}/{$file}/")) . '">' . html($file) . '</a><ul>' . recursive_scandir("{$dir}/{$file}", $level + 1, $max) . '</ul></li>';
            }
        }
    }
    return (count($scan) == 2 ? $folders . '<li class="none">Empty Directory</li>' : $folders) . $files;
}
예제 #3
0
function recursive_scandir($dir, $base)
{
    $files = array();
    foreach (array_diff(scandir($dir), array('.', '..')) as $file) {
        if (is_dir("{$dir}/{$file}")) {
            if ($base == "") {
                $files = array_merge($files, recursive_scandir("{$dir}/{$file}", "{$file}"));
            } else {
                $files = array_merge($files, recursive_scandir("{$dir}/{$file}", "{$base}/{$file}"));
            }
        } else {
            if ($base == "") {
                $files[] = $file;
            } else {
                $files[] = "{$base}/{$file}";
            }
        }
    }
    return $files;
}