Originally Posted by
mc12345678
seems to lead back to the simple use of the recursiveIterator "class".
Here's what I put together, seems to work so far.
Not sure about bigger picture stuff.
PHP Code:
function new_zen_build_subdirectories_array($parent_folder = '', $default_text = 'Main Directory') {
if ($parent_folder == '') $parent_folder = DIR_FS_CATALOG_IMAGES;
$dir_info[] = array('id' => '', 'text' => $default_text);
$iter = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($parent_folder, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD
);
$paths = array($parent_folder);
foreach ($iter as $path => $dir) {
if ($dir->isDir()) {
$path = str_replace($parent_folder, '', $path);
$dir_info[] = array('id' => $path . '/', 'text' => $path);
}
}
sort($dir_info);
return $dir_info;
}
Bookmarks