centos

CentOS readdir如何实现递归读取目录

小樊
46
2025-04-06 19:06:00
栏目: 智能运维

在 CentOS 系统中,可以使用 readdir 函数来实现递归读取目录。readdir 函数是 PHP 中的一个函数,用于读取目录句柄中的条目。要实现递归读取目录,你需要结合其他函数,如 opendirclosedirscandir。以下是一个使用 readdir 函数实现递归读取目录的示例:

<?php
function readDir($dir) {
    if (!is_dir($dir)) {
        return false;
    }

    $dh = opendir($dir);
    if (!$dh) {
        return false;
    }

    while (($file = readdir($dh)) !== false) {
        if ($file != '.' && $file != '..') {
            $path = $dir . '/' . $file;
            if (is_dir($path)) {
                readDir($path); // 递归读取子目录
            } else {
                echo $path . PHP_EOL; // 输出文件路径
            }
        }
    }

    closedir($dh);
    return true;
}

$directory = '/path/to/your/directory'; // 替换为你要读取的目录路径
readDir($directory);
?>

将上述代码保存为一个 PHP 文件(例如:readDir.php),然后在 CentOS 系统中运行它:

php readDir.php

这将递归读取指定目录及其子目录中的所有文件,并将它们的路径输出到控制台。请确保将 $directory 变量替换为你要读取的目录路径。

0
看了该问题的人还看了