2016-04-27 9 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):dirを開くことに失敗しました:いいえファイルまたはディレクトリ。私はパブリックフォルダにフォルダを保持しています。 –

関連する問題