Ben: Anzeige von Dateianzahl in Ordner?

Hallo,

ich weiß, dass es wohl kein HTML sein wird, aber ich wusste nicht, in welchen Themenbereich ich meine Frage einordnen sollte...

Ich möchte eigentlich nur eine Anzeige, wieviele Dateien in einem bestimmten Ordner enthalten sind. Ist sowas durch SSI oder JS möglich? Oder muss ich da doch auf PHP oder so zurückgreifen?

Schönen Dank im Voraus,
Ben :)

  1. Moin, moin!

    Ich vermute, Du meinst die Dateianzahl in einem Ordner auf dem Server. In diesem Fall geht es mit JavaScript natürlich nicht, wohl aber z. B. mit SSI/Perl.

    Norbert

    1. Moin, moin!

      Tach,

      Ich vermute, Du meinst die Dateianzahl in einem Ordner auf dem Server. In diesem Fall geht es mit JavaScript natürlich nicht,

      Da (clientseitiges) Javascript keinerlei Dateizugriff hat, geht es auch dann nicht, wenn der Ordner auf dem Client ist.

      wohl aber z. B. mit SSI/Perl.

      Die Lösung mit SSI würde mich interessieren.
      M.E. geht das nämlich nicht mit SSI.

      Norbert

      Andreas

      1. Moin, moin, nochmals!

        Da habe ich mich vielleicht nicht ganz verständlich ausgedrückt. Ich meine ein Perl-Skript, das ich mittels include in die HTML-Seite einbinde.

        Norbert

      2. Moin, moin!

        Tach,

        Moin Moin !

        Ich vermute, Du meinst die Dateianzahl in einem Ordner auf dem Server. In diesem Fall geht es mit JavaScript natürlich nicht,

        Da (clientseitiges) Javascript keinerlei Dateizugriff hat, geht es auch dann nicht, wenn der Ordner auf dem Client ist.

        wohl aber z. B. mit SSI/Perl.
        Die Lösung mit SSI würde mich interessieren.
        M.E. geht das nämlich nicht mit SSI.

        Oh doch!

        Standard-Aufgabe für Unix-Neulinge: "Bestimmen sie die Anzahl der Dateien in einem beliebigen Verzeichnis."

        Oder, als SSI ausgedrückt:

        <html>
        <head>
        <title>Und sie dreht sich doch!</title>
        <head>
        <body>
        <p>Mal sehen, ich sehe
        <!--#exec cmd="/bin/ls /home/me/bla/fasel | /usr/bin/wc -l" -->
        Dateien (und anderes Zeug) in /home/me/bla/fasel.</p>
        </body>
        </html>

        "ls" liefert eine Liste mit einer Datei pro Zeile (die "Special Effects" sind nur bei Ausgabe auf ein Terminal aktiv), "wc -l" zählt die Zeilen.

        Wenn exec cmd keine Pipes mag (ich hab gerade keinen Bock, das auszutesten), kann man das natürlich auch in ein kleines Shell-Script verpacken:

        #!/bin/sh
        /bin/ls "$1" | /usr/bin/wc -l

        Norbert

        Andreas

        Alexander

        1. nAbend,

          wohl aber z. B. mit SSI/Perl.
          Die Lösung mit SSI würde mich interessieren.
          M.E. geht das nämlich nicht mit SSI.

          Oh doch!

          Ich meinte, daß es nichts gibt wie lastmodified, wo also *keine* externen Programme/Scripts/Shells benötigt werden.

          Andreas

  2. Hallo,

    ich weiß, dass es wohl kein HTML sein wird, aber ich wusste nicht, in welchen Themenbereich ich meine Frage einordnen sollte...

    Ich möchte eigentlich nur eine Anzeige, wieviele Dateien in einem bestimmten Ordner enthalten sind. Ist sowas durch SSI oder JS möglich? Oder muss ich da doch auf PHP oder so zurückgreifen?

    Schönen Dank im Voraus,
    Ben :)

    Hallo Ben,

    wenn Du PHP benutzen kannst (Dein Provider ist wichtig):

    <?

    // fuer Zugriff auf ein Directory ist ein Handle erforderlich:
    $dir_handle=opendir('aktuell/');

    // alle Dateieintraege im angegebenen Verzeichnis werden bearbeitet:
    while ($file_entry = readdir ($dir_handle)):
            // wenn der 'Dateiname' nicht aus . oder .. besteht, dann...:
        if ($file_entry != "." && $file_entry != ".."):
                    // ... wird das Aenderungsdatum der Datei ermittelt ...
                    $file_modified = filemtime("aktuell/".$file_entry);
                    // ... Dateiname und Datum bilden ein paar in dem assoziativen Array dir_list:
            $dir_list[$file_entry]=$file_modified;
        endif;
    endwhile;

    closedir($dir_handle);

    $dir_list kannst Du dann auswerten.

    Gruss aus Bayern

    Alois

    1. Hallöchen,

      vielen Dank, dass du mir das gleich geschrieben hast! :))

      Find ich total nett von dir!

      Allen anderen auch danke, dass das mit JS nicht geht, hätt ich mir vielleicht denken können (naja, ich und logisch denken.. *g*)!

      Dankeschön!
      Ben

  3. Ich möchte eigentlich nur eine Anzeige, wieviele Dateien in einem bestimmten Ordner enthalten sind. Ist sowas durch SSI oder JS möglich?

    Javascript läuft nicht auf dem Server und kann somit auch nicht wissen, was dort an Dateien gelagert wird.

    Mit SSI wirst Du da schon eher was, allerdings auch nur indirekt, indem Du den Server einen Shell-Befehl ausführen lässt, der die Dateien zählt (siehe http://httpd.apache.org/docs/mod/mod_include.html).

    Oder muss ich da doch auf PHP oder so zurückgreifen?

    Ja, die Funktionen für PHP findest Du in der Anleitung unter "Verzeichnis-Funktionen" (http://www.php.net/manual/de/ref.dir.php).

    Gruß,
      soenk.e