文件结构为多维数组

Jan*_*ana 2 php directory iteration

我需要将多维数组中的所有目录和文件存储到给定位置(示例:/ path/to/folder).它应该包括子文件夹,无论多深.

编辑:

我尝试使用php scandir,它给了我以下结果,

代码:

$dir    = '/path/to/folder';
$files = scandir($dir);
print_r($files);
Run Code Online (Sandbox Code Playgroud)

结果:

Array
(
    [0] => .
    [1] => ..
    [2] => folder1
    [3] => file1
    .....
)
Run Code Online (Sandbox Code Playgroud)

我需要的是获取文件夹1中的内容并持续进行,直到我获得包含所有文件的完整文件夹结构.

PS:我需要删除"." 和结果数组中的".."也是如此.

Jan*_*ana 9

对于文件列表php提供readdirscandir函数.

我更喜欢sccandir,因为它是新的(php 5>),我们可以使用以下递归函数.

需要提供目录路径(/ path/to/your/folder)作为参数,它将返回带文件夹结构的多维数组.

function dirToArray($dir) {
    $result = array();
    $cdir = scandir($dir);
    foreach ($cdir as $key => $value) {
        if (!in_array($value,array(".","..")))  {
            if (is_dir($dir . DIRECTORY_SEPARATOR . $value)){
                $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value);
            } else {
                $result[] = $value;
            }
        }
    }
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

  • @Dale:那你为什么要把负担推倒?任何人都不应该投票支持任何事情,但无论是谁提出要求或回答,都应该对事实支持的好问题和好答案进行投票.不喜欢答案吗?给一个更好的,或改善现有的.不喜欢问这个问题的方式?改善问题!但是不要抱怨那些不给你买任何东西的5或10个废话! (3认同)
  • 在提供完整代码之前,让我们看看OP尝试了什么,然后你可以改进或提供新方法...... (2认同)