2016-04-27 87 views
1

我有一個文件夾裏面有文件和文件夾等等。我如何使用PHP在mongodb中存儲相同的結構?我希望索引是根文件夾的名稱和類似於文件夾結構的結構。另外我想要將文件數據保存原樣。如何使用php在MongoDB中存儲目錄的內容?

例如:

{ 

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

} 

回答

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; 
} 
+0

我使用laravel和我不斷收到DirectoryIterator :: __construct(54117369):未能打開目錄:沒有這樣的文件或目錄。我將文件夾保存在公共文件夾中。 –

相關問題