Reputation: 35
I have created a very simple file directory that shows files from outside of the public html based on the directory URL that is passed to it i.e /home/peter/root_storage/folder_1/folder_2/folder_3
I need to be able to create a breadcrumb from the same string passed and output in array like the following:
array(
array(
name => 'root_storage',
url => '/home/peter/root_storage'
),
array(
name => 'folder_1',
url => '/home/peter/root_storage/folder_1'
),
array(
name => 'folder_2',
url => '/home/peter/root_storage/folder_1/folder_2'
),
array(
name => 'folder_3',
url => '/home/peter/root_storage/folder_1/folder_2/folder_3'
)
)
Any direction would be appreciated.
Upvotes: 0
Views: 144
Reputation: 12505
Not sure exactly if this is what you are meaning to do:
$str = '/home/peter/root_storage/folder_1/folder_2/folder_3';
$all = array_filter(explode('/',$str));
$accume = '';
$i = 0;
foreach($all as $dir) {
$accume .= $dir.'/';
$new[$i][] = $dir;
$new[$i][] = $accume;
$i++;
}
print_r($new);
Gives you:
Array
(
[0] => Array
(
[0] => home
[1] => home/
)
[1] => Array
(
[0] => peter
[1] => home/peter/
)
[2] => Array
(
[0] => root_storage
[1] => home/peter/root_storage/
)
[3] => Array
(
[0] => folder_1
[1] => home/peter/root_storage/folder_1/
)
[4] => Array
(
[0] => folder_2
[1] => home/peter/root_storage/folder_1/folder_2/
)
[5] => Array
(
[0] => folder_3
[1] => home/peter/root_storage/folder_1/folder_2/folder_3/
)
Upvotes: 1