Joomla! Programmierung/Framework/JFolder/listFolderTree
Aus Joomla! Dokumentation
JFolder/listFolderTree Gibt die Verzeichnisstruktur innerhalb eines bestimmten Verzeichnisses zurück.
Diese kann dann an andere Funktionen übergeben werden um hirarchische Strukturen darzustellen.
Inhaltsverzeichnis |
[Bearbeiten] Syntax
listFolderTree( $path, $filter, [$maxLevel], [$level], [$parent] )
| Parameter | Datentyp | Beschreibung | Standardwert |
|---|---|---|---|
| $path | string | Der Pfad zum einzulesenden Ordner | |
| $filter | string | Filter für Ordnernamen (regulärer Ausdruck) | |
| [$maxLevel] | integer | Die maximale Anzahl der Ebenen die rekursiv eingelesen werden sollen | 3 |
| [$level] | integer | Die aktuelle Ebene | 0 |
| [$parent] | integer | Die id der Elternebene (falls vorhanden) | 0 |
[Bearbeiten] Beispiel
Die Ordnerstruktur innerhalb eines Ordners ausgeben
$pfad = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_media'; $ordnerBaum = JFolder::listFolderTree($pfad, '.'); print_r($ordnerBaum);
Ausgabe (Auszug)
[3] => Array ( [id] => 4 [parent] => 0 [name] => images [fullname] => /srv/htdocs/joomla/administrator/components/com_media/images [relname] => /administrator/components/com_media/images ) [4] => Array ( [id] => 5 [parent] => 4 [name] => mime-icon-16 [fullname] => /srv/htdocs/joomla/administrator/components/com_media/images/mime-icon-16 [relname] => /administrator/components/com_media/images/mime-icon-16 )
[Bearbeiten] Siehe auch
- JFolder->listFolderTree() auf api.joomla.org
[Bearbeiten] Quellcode
{ if ($level == 0) { $GLOBALS['_JFolder_folder_tree_index'] = 0; } if ($level < $maxLevel) { $folders = self::folders($path, $filter); // First path, index foldernames foreach ($folders as $name) { $id = ++$GLOBALS['_JFolder_folder_tree_index']; $dirs2 = self::listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id); } } return $dirs; }