PHP 遍历目录的三种方法 - 文章教程

PHP 遍历目录的三种方法

发布于 2019-12-25 字数 1956 浏览 1020 评论 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技术交流群

发布评论

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

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

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

1919 文章
23 评论
35204 人气
更多

推荐作者

随心

文章 0 评论 0

A燕芳

文章 0 评论 0

浮生未歇

文章 0 评论 2577

qq_WQViPi

文章 0 评论 0

J.Smile

文章 1 评论 0