PHP 遍历目录的三种方法

发布于 2019-12-25 20:35:09 字数 1849 浏览 1275 评论 0

我们有时候需要读取目录里面的内容,在 PHP 有多个函数可以获取文件系统目录信息,今天就给大家分享 PHP 遍历目录的三种方法。

用 dir() 返回对象

function listDir($dir){
    $mydir = dir($dir);
    echo "<ul>";
    while($file = $mydir->read()){
        if((is_dir("$dir/$file"))){
            echo "<li>$file</li>";
            listDir("$dir/$file");
        }
        elseif($file!=="."&$file!=="..")
        echo "<li><a href='$dir/$file' target='_blank'>$file</a></li>";
    }
    echo "</ul>";
    $mydir->close();
}
listDir(".");

使用 readdir() 函数

function listDir2($dir) {
    $mydir=opendir($dir);
    echo "<ul>";
    while(($file=readdir($mydir))!==false) {
        if ($file!='.'&&$file!='..') {
            if (is_dir($file)) {
                echo "<li class='dir'>$file</li>";
                listDir2("$dir/$file");
            }else{
                echo "<li class='file'><a href='$dir/$file' target='_blank'>$file</a></li>";
            }
        }
    }
    closedir($mydir);
    echo "</ul>";
}
listDir2('.');

使用 scandir() 函数

function listDir3($dir) {
    $mydir=scandir($dir);
    echo "<ul>";
    foreach ($mydir as $key => $value) {
        if ($value!='.'&&$value!='..') {
            if (is_dir($value)) {
                echo "<li class='dir'>$value</li>";
                listDir3("$dir/$value");
            }else{
                echo "<li class='file'><a href='$dir/$value' target='_blank'>$value</a></li>";
            }
        }
    }
    echo "</ul>";
}
listDir3(".");

对于上面提到的3个函数,对执行速度没有做过测试,你可以按照你的习惯和喜欢选用一个。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84935 人气
更多

推荐作者

遥远的她

文章 0 评论 0

情深如许

文章 0 评论 0

18120987591

文章 0 评论 0

女皇必胜

文章 0 评论 0

13002228876

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。