Feststellen, ob ein Ordner Dateien enthält

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

  • Feststellen, ob ein Ordner Dateien enthält

    wie lässt sich am besten in php feststellen, ob ein verzeichnis leer ist (oder ob sich dateien darin befinden)?

    gibt es dafür schon eine funktion (sollte unter windows und linux laufen)? am besten natürlich, ohne extra ein handle aufmachen zu müssen.

  • #2
    readdir() in eine while-schleife packen und sobald etwas anderes außer "." bzw. ".." gefunden wird, ist das verzeichnis nicht leer.

    Kommentar


    • #3
      Würde glob() vorschlagen, weil dann das while-Geschleife entfällt

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Re: Feststellen, ob ein Ordner Dateien enthält

        Original geschrieben von chri91
        wie lässt sich am besten in php feststellen, ob ein verzeichnis leer ist (oder ob sich dateien darin befinden)?

        gibt es dafür schon eine funktion (sollte unter windows und linux laufen)? am besten natürlich, ohne extra ein handle aufmachen zu müssen.
        hmm, dafür müsste ich einen handle aufmachen, das sollte man möglichst vermeiden, oder? glob ist auch nicht so optimal, weil die funktion den regulären ausdruck erst auswerten muss, oder? bin mir ein bisschen unsicher.

        Kommentar


        • #5
          Original geschrieben von jahlives
          Würde glob() vorschlagen, weil dann das while-Geschleife entfällt
          aber glob liest das komplette verzeichnis aus - was unnötig ist. bei kleinen verzeichnissen ok, aber wenn dort einige dateien / unterverzeichnisse liegen, kostet das unnötig rechenzeit/speicher.
          Zuletzt geändert von 3DMax; 29.11.2006, 20:45.

          Kommentar


          • #6
            readdir() liest doch auch alle dateien aus, oder

            Kommentar


            • #7
              ahhh ... tut mir leid, natürlich ^^ *auf den schädel hau*

              man kann ja bei der ersten datei gleich mit dem lesen aufhören.

              Kommentar


              • #8
                aber glob liest das komplette verzeichnis aus - was unnötig ist. bei kleinen verzeichnissen ok, aber wenn dort einige dateien / unterverzeichnisse liegen, kostet das unnötig rechenzeit/speicher.
                Absolutamente Correcto

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von chri91
                  ahhh ... tut mir leid, natürlich ^^ *auf den schädel hau*

                  man kann ja bei der ersten datei gleich mit dem lesen aufhören.
                  schön, dass du es selbst noch bemerkt hast

                  also ich würde readdir() favorisieren; php-schnittstelle, die auf allen os läuft.
                  ansonsten, wenn du magst, kannst du auf die speziellen funktionen des jeweiligen betriebsystems zurückgreifen, mittels:
                  system(), exec(), passthru()

                  Kommentar


                  • #10
                    Hi,

                    aber schön daran denken dass in jedem verzeichnis '.' und '..' existiert.

                    greets
                    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                    Kommentar

                    Lädt...
                    X