如何使用php在MongoDB中存储目录的内容?

时间:2016-04-27 18:34:17

标签: php mongodb laravel

我有一个包含文件和文件夹的文件夹,依此类推。如何使用PHP在mongodb中存储相同的结构?我希望索引是根文件夹的名称和类似文件夹结构的结构。此外,我希望文件数据按原样存储。

例如:

{

    "Folder1":{
        "Folder2":{ File1:{}
        }
    }

}

1 个答案:

答案 0 :(得分:1)

this answer的帮助下:

$structure = fillArrayWithFileNodes(new DirectoryIterator('/path/to/root/'));
DB::collection('folders')->insert($structure);

fillArrayWithFileNodes函数:

function fillArrayWithFileNodes(DirectoryIterator $dir)
{
  $data = array();
  foreach ( $dir as $node )
  {
    if ( $node->isDir() && !$node->isDot() )
    {
      $data[$node->getFilename()] = fillArrayWithFileNodes( new DirectoryIterator( $node->getPathname() ) );
    }
    else if ( $node->isFile() )
    {
      $data[] = $node->getFilename();
    }
  }
  return $data;
}