php沥遍目录结构

<?php
$dir = "testFile";//假设当前页面同目录下有testFile文件夹
//方式1
$dirSource = opendir($dir);
while ($childFileName = readdir($dirSource)) {
    if (!strcmp($childFileName, ".") || !strcmp($childFileName, "..")) {//排除testFile文件夹下最开始的 "."和".."两个文件名
        continue;
    }
    echo $childFileName . "目录列表:<br/><br/>";
    $childFileDir = "$dir/" . $childFileName;//子文件相对当前执php文件的路径
    $childDirLogoStr = "--";//子文件标识符号
    findAllChildFileName($childFileDir, $childDirLogoStr);
}

//方式2,直接调用方法把路径传进去也可沥遍所有结构
//findAllChildFileName($dir, "--");

function findAllChildFileName($dir, $childDirLogoStr) {
    if (is_dir($dir)) {
        $dirSource = dir($dir);
        while ($childFileName = $dirSource->read()) {//和上面沥遍结果一样,只是方式有点变化
            if (!strcmp($childFileName, ".") || !strcmp($childFileName, "..")) {
                continue;
            }
            $childFileDir = $dir . "/" . $childFileName;
            if (is_file($childFileDir)) {
                echo $childDirLogoStr . $childFileName . ":文件<br/>";
            } else {
                echo $childDirLogoStr . $childFileName . ":目录<br/>";
                findAllChildFileName($childFileDir, "--" . $childDirLogoStr);
            }
        }
        $dirSource->close();
    }
}
?>

 

posted @ 2013-02-23 18:41  风吹屁股凉冰冰  阅读(314)  评论(0编辑  收藏  举报