Joomla! Programmierung/Framework/JFolder/listFolderTree

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

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] )
  • @return array Ordnerstruktur innerhalb eines bestimmten Ordners.
  • @since Joomla 1.5
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

[Bearbeiten] Quellcode

JFolder::listFolderTree in Joomla! 2.5.4

Folder blue.png libraries

  • Folder red.png joomla
    • Folder green.png filesystem
      • File php.png folder.php
  1. public static function listFolderTree($path, $filter, $maxLevel = 3, $level = 0, $parent = 0)
  2. {
  3. $dirs = array();
  4. if ($level == 0)
  5. {
  6. $GLOBALS['_JFolder_folder_tree_index'] = 0;
  7. }
  8. if ($level < $maxLevel)
  9. {
  10. $folders = self::folders($path, $filter);
  11. // First path, index foldernames
  12. foreach ($folders as $name)
  13. {
  14. $id = ++$GLOBALS['_JFolder_folder_tree_index'];
  15. $fullName = JPath::clean($path . '/' . $name);
  16. $dirs[] = array('id' => $id, 'parent' => $parent, 'name' => $name, 'fullname' => $fullName,
  17. 'relname' => str_replace(JPATH_ROOT, '', $fullName));
  18. $dirs2 = self::listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id);
  19. $dirs = array_merge($dirs, $dirs2);
  20. }
  21. }
  22. return $dirs;
  23. }
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge