---
title: "HTML_TreeMenu-1.1.9 för att lista en katalog"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/93720-html-treemenu-1-1-9-för-att-lista-en-katalog"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "greyhound"
published: "2004-01-01T09:54:34.000Z"
updated: "2004-01-02T12:42:11.000Z"
replies: 3
views: 219
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/93720-html-treemenu-1-1-9-för-att-lista-en-katalog"
---

# HTML_TreeMenu-1.1.9 för att lista en katalog

## #1 — greyhound, 2004-01-01T09:54Z

Jag tänkte använda HTML_TreeMenu-1.1.9 för att bygga upp en katalogstruktur. Problemet jag har är bara att komma på hur jag ska kunna bygga upp menyn.

Någon som har nått bra sätt att lista alla kataloger som finns under en viss katalog. Alltså även dom kataloger som ligger under en annan katalog.

Hoppas någon fattar vad jag menar. :)

Permalänk: https://www.webforum.nu/p/93720

## #2 — Matte, 2004-01-01T12:54Z

Ta en titt på [readdir](http://se2.php.net/manual/en/function.readdir.php)() i manualen.
I Example 2 har du ett bra exempel på hur man kan lista en katalog.

Detta kan du sedan kombinera med [is_dir](http://se2.php.net/manual/en/function.is-dir.php)() och [is_file](http://se2.php.net/manual/en/function.is-file.php)().

Permalänk: https://www.webforum.nu/p/1239384

## #3 — greyhound, 2004-01-01T13:55Z

Jo så långt hade jag kommit innan också. Jag har hittat info på nätet om hur man kunde lista kataloger i kataloger så att säga. Just nu håller jag bara på med att lära mig hur jag ska bygga en meny av resultatet.

```php
function recursive_listdir($base) {
  static $dirlist = array();
  if(is_dir($base)) {
    $dh = opendir($base);
    while (false !== ($dir = readdir($dh))) {
      if (is_dir($base ."/". $dir) && $dir !== '.' && $dir !== '..') {
        $subbase = $base ."/". $dir;
        $dirlist[] = $subbase;
        $subdirlist = recursive_listdir($subbase);
      }
    }
    closedir($dh);
  }
  return $dirlist;
}
```

Permalänk: https://www.webforum.nu/p/1239398

## #4 — greyhound, 2004-01-02T12:42Z

Så här blev det:

```php
$menu  = new HTML_TreeMenu();
$tmpArray = recursive_listdir("/home/httpd/data/");
$tmpNode = array();
usort($tmpArray, 'SortbyName');
foreach ($tmpArray as $val) {
  $tmpSplit = array();
  $tmpSplit = split("/", strstr($val[0], $Username));
  $tmpName = $tmpSplit[count($tmpSplit) - 1];
  if (array_key_exists($tmpSplit[count($tmpSplit) - 2], $tmpNode)) {
    $tmpNode[$tmpName] = &$tmpNode[$tmpSplit[count($tmpSplit) - 2]]->addItem(new HTML_TreeNode(array('text' => $tmpName, 'link' => "test.php", 'icon' => $icon, 'expandedIcon' => $expandedIcon)));
  } else {
    $tmpNode[$tmpName] = new HTML_TreeNode(array('text' => $tmpName, 'link' => "test.php", 'icon' => $icon, 'expandedIcon' => $expandedIcon));
    $menu->addItem($tmpNode[$tmpName]);
    $last = $tmpName;
  }
}
$treeMenu = &new HTML_TreeMenu_DHTML($menu, array('images' => 'images', 'defaultClass' => 'treeMenuDefault'));
$treeMenu->printMenu();
```

Permalänk: https://www.webforum.nu/p/1239724

---

Tråden på webben: https://www.webforum.nu/amne/php/93720-html-treemenu-1-1-9-för-att-lista-en-katalog
