Я хочу разбить путь к каталогу в рекурсивный массив с дочерними элементами, но сохранить каталоги уникальными.
Допустим, у нас есть следующий ввод:
$paths = [
'parent/first child',
'parent/second',
'parent/second/with-another-children',
'parent/third/another children',
'parent/last children'
];
foreach($paths as $path){
$folders = explode('/', $path);
//$traverse($folders);
}
Ожидаемый вывод
[
'directory_name' => 'parent',
'children' => [
[
'directory_name' => 'first child',
'children' => []
],
[
'directory_name' => 'second',
'children' => [
'directory_name' => 'with-another-children',
'children' => []
]
],
[
'directory_name' => 'third',
'children' => [
'directory_name' => 'another children',
'children' => []
]
],
[
'directory_name' => 'last children',
'children' => []
],
]
];
Я получил этот массив путей из папки HTML. Сначала мне нужно создать каталоги (в БД, а не в файловой системе), а затем загружать файлы (все в одной папке), но хранить идентификатор каталога, где должен отображаться файл. Как я могу это сделать?