Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateipfade zu Array / Baumstruktur

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateipfade zu Array / Baumstruktur

    Hallo,
    ich überlege seit längerem wie eine Funktion ausehen müsste die mir aus Dateipfaden ein Array zusammenbaut, damit ich diese als Baum ausgeben kann.

    Ich habe also

    /Datei1
    /Ordner1/Datei2
    /Ordner1/Ordner1a/Datei3
    /Ordner2/Ordner24/Ordner3/Datei5
    ....

    Irgendwie müsste ich das zerlegen und dann in ein Array pumpen.

    wie bekomm ich das am besten hin?

    Timo
    .::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
    .:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::


  • #2
    Mit explode kannst du bestimmt was basteln

    http://php.net/manual/de/spl.iterators.php ist auch bisschen filesystemzeugs dabei
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      hatte es bisher mit dem hier versucht aber leider ohne erfolg
      Code:
      foreach ( $data as $k => $v) {
                  $aPath = explode("/", $v['key']);
      
                  $tree = array_merge_recursive ($tree, $aPath);
              }
      .::Wenn das Rauskommt, wo ich überall reinkomme, komme ich da Rein, wo ich so schnell nicht mehr Rauskomme::.
      .:ie drei natürlichen Feinde des WebWorkers: Frischluft, Sonnenschein und das unerträgliche Gebrüll der Vögel.::

      Kommentar


      • #4
        Hi,

        eine Möglichkeit:

        PHP-Code:
        function VerzeichnisBaum(RecursiveDirectoryIterator $zeiger){
            for (
        $zeiger->rewind(); $zeiger->valid(); $zeiger->next()){
                if (
        $zeiger->isDir() && !$zeiger->isDot()){
                    echo 
        $zeiger->key()."<br />";

                    if (
        $zeiger->hasChildren()){
                        echo 
        VerzeichnisBaum($zeiger->getChildren());
                    }
                }
            }
        }

        VerzeichnisBaum(new RecursiveDirectoryIterator('deinpfadzumordner')); 
        mfg wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar

        Lädt...
        X