PHP遍历文件

字数 0阅读 34
#遍历目录下的文件
function dirList($path)
{
    if (!is_dir($path)) {
        return;
    }
    $handler = opendir($path);
    while (($file = readdir($handler)) !== false) {
        if ($file === '.' || $file === '..') {
            continue;
        }
        $file = $path. '/'. $file;
        if (is_dir($file)) {
            echo '目录:' . $file. '<br />';
            dirList($file);
        } else {
            echo '文件:' . $file . '<br />';
        }
    }
    closedir($handler);
}

生成对应的树状结构
#遍历目录下的文件, 生成对应的树状数组结构呢
function dirList($path)
{
    $result = [];
    if (!is_dir($path)) {
        return $result;
    }
    $handler = opendir($path);
    while (($file = readdir($handler)) !== false) {
        if ($file === '.' || $file === '..') {
            continue;
        }
        $key = $file;
        $file = $path. '/'. $file;
        if (is_dir($file)) {
            echo '目录:' . $file. '<br />';
            $result[$key] = dirList($file);
        } else {
            echo '文件:' . $file . '<br />';
            $result[] = $key;
        }
    }
    closedir($handler);
    return $result;
}

推荐阅读更多精彩内容