1) Подход списка: используйте split
, чтобы получить массив папок, затем объедините их в цикле.
2) Подход строки: используйте strpos
с параметром смещения, который изменяется от 0 до1 + последняя позиция, где была найдена косая черта, затем используйте substr
для извлечения части строки папки.
РЕДАКТИРОВАТЬ:
<?php
$folders = 'folder1/folder2/folder3/folder4';
function fn($folder) {
echo $folder, "\n";
}
echo "\narray approach\n";
$folder_array = split('/', $folders);
foreach ($folder_array as $folder) {
if ($result != '')
$result .= '/';
$result .= $folder;
fn($result);
}
echo "\nstring approach\n";
$pos = 0;
while ($pos = strpos($folders, '/', $pos)) {
fn(substr($folders, 0, $pos++));
}
fn($folders);
?>