【问题标题】:Return file directories in an array返回数组中的文件目录
【发布时间】:2013-01-10 23:42:25
【问题描述】:

我正在尝试创建一个函数来读取一个目录并在一个数组中返回所有文件的工作目录,但它不工作。我不知道为什么代码不起作用,您能帮帮我吗?

$postsDirectory = "../posts/";

function listFiles() {
    $results = array();
    $handler = opendir($postsDirectory);

    while ($file = readdir($handler)) {
        if ($file != "." && $file != "..") {
            $results[] = getcwd($file);
        }
    }
    closedir($handler);
    return $results;
}

【问题讨论】:

    标签: php file readdir opendir getcwd


    【解决方案1】:

    getcwd() 返回正在执行的脚本的工作目录。它不带任何参数,并且与文件系统上的其他文件无关(“工作目录”的想法对于任意文件也没有意义)。我假设您真正想要的是给定目录中所有目录的列表。

    我会为此使用RecursiveDirectoryIterator

    $it = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($postsDirectory),
        FilesystemIterator::SKIP_DOTS
    );
    
    $results = array();
    while($it->valid()) {
        if($it->isDir()) {
            $results[] = $it->getSubPath();
        }
        $it->next();
    }
    

    【讨论】:

      猜你喜欢
      • 2013-05-30
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 2014-03-07
      • 2018-10-29
      • 2015-01-05
      • 2017-11-22
      • 2014-11-25
      相关资源
      最近更新 更多