Lamer3000: Verzeichnis auslesen - Files als Links darstellen

Folgendes Problem (weiß nicht, ob das in html geht - alternativ auch Java oder anderes skript möglich):

Es gibt ein Verzeichnis. In diesem Verzeichnis befinden sich Unmengen von .pdf-Dateien.

Ich will diese Dateien Links zuordnen: Jede Datei ein Link, dessen Namen ich selbst bestimme (z.B. Dokument A... Dokument B...). Die Links sollen einfach als unsorted List dastehen.

Wenn ich das ganze manuell mache, bin ich stundenlang beschäftigt.

Frage 1:

Gibt es ein Script oder ein Programm, das automatisch entweder den benötigten html-Code erzeugt oder wenigstens das Verzeichnis ausliest?

Frage 2:

Gibt es die Sache auch dynamisch, d.h. es werden immer die aktuellen Dateinamen ausgelesen und angezeigt?

Ich brauche die Sache für ein Intranet. Eine FTP-Lösung ist das letzte Mittel und soll vermieden werden.

Vielen Dank.

  1. Hallo Lamer3000!

    Gibt es ein Script oder ein Programm, das automatisch entweder den benötigten html-Code erzeugt oder wenigstens das Verzeichnis ausliest?

    Grundsätzlich ja, wenn du uns noch verrätst, welche Plattform wir anbieten dürfen ;-)

    Für PHP hätte ich eins auf Lager - allerdings zeigt es "nur" den Dateinamen als Linkbezeichnung - alles andere wäre aber ebenfalls mit Arbeit verbunden und wahrscheinlich genau so schnell wie manuelle Links anzufertigen.

    mfg

    norbert =:-)

    1. @norbert =:-):

      Der Dateiname würde vorerst reichen. Wenn ich mir vorstelle, wie lange ich für die Links brauche, packt mich das kalte Entsetzen.

      Besser als PHP wäre allerding CGI... über Dein Skript würde ich mich in aber super toll freuen.

      mfG

      Lamer3000

      1. Hallo Lamer3000!

        Kann nicht viel - eben nur ein Verzeichnis auslesen und Links ausgeben. Anpassung nach Bedarf - Angabe ohne Gewähr ;-)

        /* Übergabe zB "/dir/filedir/" */
        function create_downloads($path)
        {
         if (file_exists($path))
         {
          $dir = opendir($path);

        while($item = readdir($dir))
          {
           if($item != '.' and $item != '..')
           {
            $lastupdate = filemtime($path . $item);
            $filesize = filesize ($path . $item);

        print('<a href="' . $path . $item . '">' . $item . '</a> (' . $filesize . ')<br>');
           }
          }
         }
        }

        Übrigens: PHP ist CGI ;-)

        mfg

        norbert =:-)

  2. Hallo,

    Folgendes Problem (weiß nicht, ob das in html geht - alternativ auch Java oder anderes skript möglich):

    Nur mit reinem HTML geht es nicht, dazu sind serverseitige Techniken da. Ob es mit JavaScript geht, ist mir nicht bekannt.

    Gibt es ein Script oder ein Programm, das automatisch entweder den benötigten html-Code erzeugt oder wenigstens das Verzeichnis ausliest?
    Gibt es die Sache auch dynamisch, d.h. es werden immer die aktuellen Dateinamen ausgelesen und angezeigt?

    Beides ja. Du solltest dich aber erst einmal für eine Technik entscheiden, bevor du ins Detail gehst. Das hängt allerdings davon ab, welche Möglichkeiten du hast und welche Programmiersprachen du bevorzugst.

    mfg Torsten

    1. Hallo,

      danke für die schnelle Antwort :-)

      Am besten wäre cgi. Das macht erfahrungsgemäß hier am wenigsten Probleme.

      Zu Testzwecken soll die Seite erst mal im Rahmen einer IIS-Umgebung laufen (W200 Server...); danach auf unserem Web-Server.

      mfG

      Lamer3000

      1. Hallo,

        Am besten wäre cgi.

        Ich vermute mal, dass du eine CGI-Anwendung mit Perl meinst. Dazu liest du einfach das Bilderverzeichnis ein:

        $bild_dir = "pfad_zu_deinen_bildern";
        opendir(DIR, $bild_dir) || die "$bild_dir: $!";
        @bilder = readdir(DIR);
        closedir(DIR);

        Dann gibst du das ganze in HTML aus:

        foreach(@bilder) {
          print "<a href='pfad_zu_deinen_bildern/$_'>$_ ansehen</a>\n";
        }

        Das ganze musst du dann nur noch nach deinen Vorgaben verfeinern.

        mfg Torsten

      2. Hi Lamer3000,

        Zu Testzwecken soll die Seite erst mal im Rahmen einer IIS-Umgebung laufen

        schade. Beim Apache wüßte ich, wie es per Konfiguration geht (http://httpd.apache.org/docs/mod/mod_autoindex.html).

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
         => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.