Verzeichnis auslesen - Files als Links darstellen
Lamer3000
- html
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.
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 =:-)
@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
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 =:-)
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
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
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
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