Sneap: Pfad Zerlegen zum schreiben in DB

Hallo Leute,
ich hab da ein kleines Problem einen Pfad zu zerlegen.
Also ich bekomme folgenden Pfad zb:
./dbox/schalter/schaltereinbau.rar

Jetzt würde ich gerne aus dem Pfad nur dbox und schalter haben,
also immer die letzen beiden Ordner. Es kann halt auch mal sein das der Pfad so aussieht:
./download/dbox/schalter/schaltereinbau.rar

habs schon mit parse_url versucht aber das liefert mir nicht das gewünschte Ergebniss.

wäre super wenn mir da jemand Helfen könnte.

Danke schon mal.

Mfg

  1. Hello,

    ich hab da ein kleines Problem einen Pfad zu zerlegen.
    Also ich bekomme folgenden Pfad zb:
    ./dbox/schalter/schaltereinbau.rar

    Jetzt würde ich gerne aus dem Pfad nur dbox und schalter haben,
    also immer die letzen beiden Ordner. Es kann halt auch mal sein das der Pfad so aussieht:
    ./download/dbox/schalter/schaltereinbau.rar

    1. Schritt: ggf. realpath() auf den Path-String anwenden

    2. Schritt: Path-String zerlegen am Path-Seperator, also hier dem '/'
                das geht mit explode()
    3. Schritt: Das Array umdrehen
                das geht mit array_reverse()
    4. Schritt: die Elemente des Arrays überprüfen auf die Eigenschaft Directory(, Link), Datei
                Wenn es sich beim ersten Element (index = 0) um eine Datei handelt,
                aus dem Array entfernen
                das geht mit unset(-Arrayelement-)
    5. Schritt  soviele Elemente aus dem Array in ein neues übertragen, wie Du haben willst
    6. Schritt  Ergebnisarray umdrehen
    7. Schritt  Aus dem Array wieder einen Path-String machen
                das geht mit implode()

    Vielleicht geht es einfacher, aber so geht es (ohne Regular Expressions) mMn am saubersten.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Danke für deine Hilfe, habe es aber einwenig anders gelösst:

        
      <?php  
      $array = explode('/', $_GET['fname']);  
      $db_tabell_kategorie = $array[count($array)-3]; //dbox  
      $db_tabell_programm  = $array[count($array)-2]; // schalter  
      ?>  
      
      

      Mfg

      1. Hello,

        Danke für deine Hilfe, habe es aber einwenig anders gelösst:

        <?php
        $array = explode('/', $_GET['fname']);
        $db_tabell_kategorie = $array[count($array)-3]; //dbox
        $db_tabell_programm  = $array[count($array)-2]; // schalter
        ?>

          
        Du hast nur alle meine Hinweise überlesen und die jeweiligen Optimalfälle vorausgesetzt.  
          
          
                #####################  
                #    G E F A H R    #  
                #####################  
          
          
        Die unbedingte Übernahme von Daten aus $\_GET (oder anderen User-Parameter-Arrays) beinhaltet schon wieder neue gefährliche Fehlerquellen, die nun auch die Integrität Deines Webservers in Frage stellen!  
          
          
          
          
          
          
          
        Liebe Grüße aus dem schönen Oberharz  
          
          
        Tom vom Berg  
        ![](http://selfhtml.bitworks.de/Virencheck.gif)  
          
        
        -- 
        Nur selber lernen macht schlau  
        <http://bergpost.annerschbarrich.de>