On Freitag 10 April 2009 20:04:13 Sebastian Reinhardt wrote:
Hallo liebe Liste,
Hallo, was spricht eigentlich gegen die Index-Option des Apachen (falls Du ihn verwendest)?
Um diverse Dateien (pdf's, doc's und Bilder) über eine kleine betriebsinterne Website allen Nutzern zur Verfügung zu stellen, ohne alles per Hand im html- Code erstellen zu müssen, habe ich ein kleines Perl-Script erstellt. Das Script scannt ein Verzeichnis und stellt das Ergebnis in "html" dar (Verzeichnisse und Dateien werden verlinkt). Nun ist mir durchaus klar, dass es dafür sicher schon sehr viele Scripte gibt (u.a. als "php"), aber ich wollte eben doch mal mit Perl anfangen..
Das erste Problem besteht darin, dass einige Dateien und Verzeichnisse unsere "lieben" Sonderzeichen (ä,ö,ü usw.) enthalten. Mit dem setzten des "UTF8" werden diese Dateien und Verzeichnisse im "html" korrekt wiedergegeben und die Links zu solchen Dateien funktionieren. Aber wenn ein Verzeichnis diese Zeichen enthalten, dann stellt Firefox den Namen als Text auf der Seite korrekt dar und der " 1 ) { print "<tr>\n
\n</td>\n \n\n</td>\n<td>\n$_</a>\n</td>\n -\n</td>\n \n$datum{Day}.$datum{Month}.$datum{Year}</td>\n \n$datum{Hour}:$datum{Minute}:$datum{Second}\n</td>\n</tr>\ n"; } $i++; } $i = 0; foreach(@eintraege) { $mimeicon = "../Bilder/Button/gruener_Punkt.gif"; $dir2 = "$dir0$_"; $size = -s "$dir2"; my %datum = &LastModified($dir2); if ( -f $dir2 ) { ($dummy, $mimet) = split(/\./,$eintraege[$i]); given( $mimet ) { when( $mimet == "pdf" ) { $mimeicon = "../Bilder/SysIcons/application-pdf.png"; break } when( $mimet == "doc" ) { $mimeicon = "../Bilder/SysIcons/application-vnd.oasis.opendocument.text.png"; break } when( $mimet == "ppt" ) { $mimeicon = "../Bilder/SysIcons/application-vnd.oasis.opendocument.presentation.png"; break } when( $mimet == "gif" ) { $mimeicon = "../Bilder/SysIcons/image-gif.png"; break } when( $mimet == "jpg" ) { $mimeicon = "../Bilder/SysIcons/image-jpeg.png"; break } when( $mimet == "png" ) { $mimeicon = "../Bilder/SysIcons/image-png.png"; break } default { $mimeicon = "../Bilder/SysIcons/unknown.png"; break } } print "<tr>\n
\n</td>\n \n</td>\n<td>\n$_</a>\n</td>\n \n$size\n</td>\n \n$datum{Day}.$datum{Month}.$datum{Year}</td>\n \n$datum{Hour}:$datum{Minute}:$datum{Second}\n</td>\n</tr>\ n"; } $i++; } closedir(DIR); ...... --------------------code---------------------------- ein Beispiel: Linkadresse: "http://192.168.0.2/cgi-bin/dirlist.pl?Seite=../Seiten/Daten/Fa%DFf%FCllein richtung/" wird als Text korrekt dargestellt (auch im unteren Fensterrand des Firefox beim Zeigen der Maus auf den Link!), aber mit Dateien funktioniert das... Das zweite Problem bezieht sich auf die Anzeige der Icons bzw. auf das "given". Komisch ist, dass immer das erste Bild angezeigt wird, egal welchen Wert "$mimet" (d.h. also der "mimetype") hat. Die Bilder sind natürlich da und werden angezeigt, sobald ich die erste Zeile usw. einzeln auskommentiere.
Kann mir da jemand weiterhelfen?
-- Mit freundlichen Grüßen
Sebastian Reinhardt