Ankündigung

Einklappen
Keine Ankündigung bisher.

[ERLEDIGT] Ordner in einem Verzeichnis anzeigen lassen...

Einklappen

Neue Werbung 2019

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

  • [ERLEDIGT] Ordner in einem Verzeichnis anzeigen lassen...

    Hallo an alle!

    Ich möchte mir, wie schon der Titel sagt, die Ordner in einem Verzeichnis anzeigen lassen.
    Dies habe ich mit folgendem Versucht:

    PHP-Code:
    <?php

        $dir 
    $_SERVER['DOCUMENT_ROOT']."/ordner/ordnerzumauslesen";
        
    $od opendir($dir);
            while(
    $rd=readdir($od)) {
                if(
    is_dir($rd)) {
                    echo 
    $rd;
                }
            }
    ?>
    Er gibt mir aber nur "..." aus.

    Habt Ihr eine Idee woran das liegen könnte?

    Lg
    wassereimer

  • #2
    Gibt es Fehlermeldungen?
    Lass dir den Inhalt deiner Variablen ausgeben.

    Kommentar


    • #3
      Keine Fehlermeldungen...
      Er gibt mir bei der Variable $od "Resource id #10" aus...

      Kommentar


      • #4
        So, nun funktioniert es auf diese Weise:

        PHP-Code:
        <?php
          $dir 
        $_SERVER['DOCUMENT_ROOT']."/cms/template";
          
        $od opendir($dir);
          while (
        $entry readdir($od)) {
            echo 
        $entry;
          }
           
        closedir($od);
        ?>
        Wie bekomme ich es jetzt noch hin, das mir "." und ".." nicht mit ausgegeben wird?
        Und warum gibt er mir das überhaupt aus?

        Lg
        wassereimer

        Kommentar


        • #5
          if ($entry != '.' && $entry != '..')

          . bezieht sich aus das aktuelle verzeichnis
          .. auf das darunter

          wie bei relativen pfaden

          Kommentar


          • #6
            Super, danke.

            Kommentar


            • #7
              Leider doch noch nicht erledigt.... ^^

              Alleine funktioniert es ja:

              PHP-Code:
              <?php
                $dir 
              $_SERVER['DOCUMENT_ROOT']."/ordner/ordner2";
                
              $od opendir($dir);
                while (
              $entry readdir($od)) {
                  if (
              $entry != '.' && $entry != '..')
                  echo 
              $entry;
                }
                 
              closedir($od);
              ?>
              So jedoch nicht...
              Warum ist das so? *grübel*

              PHP-Code:
                          <select size="1" style="width:150px" name="name">
                          <option selected><? echo $aktuell ?></option>
              <?php
                $dir 
              $_SERVER['DOCUMENT_ROOT']."/ordner/ordner2";
                
              $od opendir($dir);
                while (
              $entry readdir($od)) {
                  if (
              $entry != '.' && $entry != '..')
              ?>
                          <option value="<? echo $entry ?>"><? echo $entry ?></option>
              <?php  
                
              }
                 
              closedir($od);
              mysql_close();
              ?>
                          </select>
              Lg
              wassereimer

              Kommentar


              • #8
                vielleicht hilft das Beispiel aus dem Manual

                Zitat von php.net-Manual
                PHP-Code:
                <?php
                // Beachten Sie, dass !== vor 4.0.0-RC2 nicht verfuegbar war

                if ($handle opendir('/path/to/files')) {
                    echo 
                "Directory handle: $handle\n";
                    echo 
                "Files:\n";

                    
                /* Das ist der korrekte Weg, ein Verzeichnis zu durchlaufen. */
                    
                while (false !== ($file readdir($handle))) {
                        echo 
                "$file\n";
                    }

                    
                /* Dies ist der FALSCHE Weg, ein Verzeichnis zu durchlaufen. */
                    
                while ($file readdir($handle)) {
                        echo 
                "$file\n";
                    }

                    
                closedir($handle);
                }
                ?>

                Kommentar


                • #9
                  Danke erstmal...

                  Ich gehe mal davon aus, das das if Falsch war....
                  Nun habe ich die while Schleife überarbeitet nach dem Zitat aus dem Manual...

                  Wenn ich einfach nur das mache:

                  Code:
                    while (false !== ($entry = readdir($od))) {
                  gibt er mir "." und ".." noch aus...
                  Also habe ich es so versucht:

                  Code:
                    while (false !== '.' && !== '..' ($entry = readdir($od))) {
                  Da spuckt er mir allerdings eine Fehlermeldung aus:

                  Code:
                  Parse error: syntax error, unexpected T_IS_NOT_IDENTICAL in /pfad/datei.php on line 66
                  Lg
                  wassereimer

                  Kommentar


                  • #10
                    Hat sich erledigt... War einfach nur nen Volldepp ^^

                    So gehört es natürlich:

                    PHP-Code:
                                <select size="1" style="width:150px" name="blubb">
                                <option selected><? echo $aktuell ?></option>
                    <?php
                      $dir 
                    $_SERVER['DOCUMENT_ROOT']."/ordner/ordner2";
                      
                    $od opendir($dir);
                      while (
                    false !== ($entry readdir($od))) {
                              if ([
                    COLOR="Red"]$entry[/COLOR] != "." && [COLOR="Red"]$entry[/COLOR] != "..") {
                    ?>
                                <option value="<? echo $entry ?>"><? echo $entry ?></option>
                    <?php
                      
                    }
                       
                    closedir($od);  
                      }
                    mysql_close();
                    ?>
                                </select>
                    "." und ".." können natürlich nur raus genommen werden, wenn sie auch in der Variable sind die ich benutze...

                    Lg
                    wassereimer

                    Kommentar

                    Lädt...
                    X