📜  php 列出目录 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:22.491000             🧑  作者: Mango

PHP 列出目录

在 PHP 中,可以使用 scandir 函数列出指定目录中的所有文件和子目录。以下是一个示例代码:

$dir = '/path/to/directory';
$files = scandir($dir);
foreach ($files as $file) {
    if ($file !== '.' && $file !== '..') {
        echo "$file\n";
    }
}

上面的代码会将指定目录 $dir 中的所有文件和子目录打印出来。注意,这里要过滤掉 ... 这两个特殊目录,因为它们是在所有目录中都存在的,不具有实际意义。

如果需要对目录进行递归处理,可以使用递归函数实现:

function list_files($dir) {
    $files = scandir($dir);
    foreach ($files as $file) {
        if ($file === '.' || $file === '..') {
            continue;
        }
        $path = $dir . '/' . $file;
        if (is_dir($path)) {
            list_files($path);
        } else {
            echo "$path\n";
        }
    }
}

上面的代码中,list_files 函数会递归处理目录中的子目录,直到所有文件都被列出为止。注意,这里同样要过滤掉 ... 这两个特殊目录。

除了 scandir 函数外,PHP 中还有很多与目录相关的函数,比如 mkdirrmdiropendirclosedir 等等。了解这些函数的使用可以更加灵活地操作文件系统。