Frage zu Direcory Listing Script

Status
Für weitere Antworten geschlossen.

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo.
Ich setze für meinen webserver das Directory Listing Script von Evoluted (http://www.evoluted.net/community/code/directorylisting.php) ein.

Es funktioniert auch alles bestens, allerdings ist es so, dass Dateien/ Orner die Umlaute enthalten nicht korrekt angezeigt werden:



Gibt es eine Möglichkeit, dass der Browser diese richtig darstellt? Habe schonmal gesucht und gefunden, dass es mit dem Zeichensatz zusammen hängen könnte, allerdings taucht im Skript die ISO 8859-1 auf, welche doch eigentlich Umlaute unterstützen sollte!?

Vielleicht kann mir ja jemand helfen. Vielen Dank schonmal!

Gruß
Stephan
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Danke erstmal für den Hinweis, doch hab ich leider null ahnung wie ich das ganze nun in das script implementiere.
Kannst du mir da noch weiterhelfen?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Mach ne Kopie vom Skript und tausche mal 'ISO-8859-1' gegen 'UTF-8' aus.

Manchmal hilft auch schon das Ändern des Zeichensatzes im Browser.

itari
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
ASTREIN!!!!!

Das hats gebracht. Vielen Dank für den Tip!
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hab das Ding bei mir auch getestet, funktioniert mit ISO-8859-1 und Umlauten. Allerdings kann ich die Datei dann nicht herunterladen (http://bern.naron.ch/spk/)

@Welle1983: Klappt dies bei dir?

Grüsse
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also ich kann deine Dateien runterladen :D
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Auch die äöü.test? ich nicht :-(
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Auf Zeile 396 fehlt ein urlencode():
Code:
<div><a href="<?=[COLOR="Red"]urlencode([/COLOR]$fileurl[COLOR="Red"])[/COLOR];?>" class="<?=$class;?>"<?=$thumb2;?>><img src="dlf/<?=$icon;?>" alt="<?=$files[$i];?>"

Nun klappts auch bei mir!
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
ich hab bei meinem script außerdem noch am anfang forcedownload=true gesetzt:

Rich (BBCode):
/* 
Force downloads - Do you want to force people to download the files
rather than viewing them in their browser?
*/
$forcedownloads = true;

vielleicht hilft das...
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Mit dem forcedownload unterbindet man das Öffnen im Browser, möchte ich eigentlich nicht.

Das urlencode funktioniert ganz gut, ein Problem aber bleibt. Falls die Datei in einem Unterordner ist, wir das / auch codiert (%2F). Der Download funktioniert dann nur noch falls der Apache die Option 'AllowEncodedSlashes' gesetzt hat.

Durch zurückkonvertieren des / ist das Problem denke ich erledigt (Zeile 396):

Rich (BBCode):
 <div><a href="<?=str_replace("%2F","/",urlencode($fileurl));?>" class="<?=$class;?>"<?=$thumb2;?>><img src="dlf/<?=$icon;?>" alt="<?=$files[$i];?>"
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hallo, zusammen, ich hab noch ein neues Problem entdeckt heute.
Und zwar hab ich für die Uni ein paar Sachen online stellen wollen, aber musste dann erkennen, dass die Ordnernamen teilweise zu lang sind, und das Skript dann grafisch ein wenig durcheinander kommt:



Kann man da mal schnell ne Zeile im Code ändern, dass sich dieses "Mittelfenster" wo die ganzen Dateien und Ordner drin stehen, bei längeren Dateinamen dynamisch in der Breite anpasst?

Wär super, wenn mir da nochmal jemand weiterhelfen könnte. Danke schonmal!
(PS: wenns nicht dynamisch geht, bin ich auch für Tipps zu einer statischen Lösung sehr dankbar.)

Gruß, Stephan
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Ciao Welle1983

Kann es sein, dass du noch weitere Änderungen am Script gemacht hast?
Bei mir funktionieren die langen Namen problemlos, allerdings werden auch keine Dateien von Unterordnern angezeigt.

Bitte noch deine Anpassungen posten.

Gruss noreway
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
also eigentlich hab ich sonst nix weiter angepasst/geändert. kannst du mal bitte versuchen einen ordner zu erstellen, welcher den namen

"2008-11-24_Waermetransport in einer Fleischkugel"

hat? Vielleicht sind deine bisherigen Namen auch einfach noch nicht lang genung!?
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
naja, mehr oder weniger freizeit....;) es ging um die technische beschreibung des garvorgangs. ein sehr realitätsnahes beispiel halt ;)

schade, ich dachte du hättest vielleicht einen hinweis für mich wie mein problem zu lösen ist :(
 

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Ich hatte gestern die Ordner mit den Namen deines Printscreens erstellt unt hatte keine Probleme. Heute Morgen habe ich das selbe Verhalten wie bei dir. Ev. funktioniert es solange die überlangen Ordner in der laufenden Session erstellt werden.

Versuchs mal so, index.php, Zeile 360-362 ersetzen mit (Änderungen rot):
Rich (BBCode):
        for($i=0;$i<$arsize;$i++) {
                $dirnamecut = $dirs[$i];
                if(strlen($dirnamecut)>43) {
                        $dirnamecut = substr($dirnamecut, 0, 40) . '...';
                }
        ?>
        <div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($leadon.$dirs[$i]);?>" class="<?=$class;?>"><img src="dlf/folder.png" alt="<?=$dirs[$i];?>" /><strong><?=$dirnamecut;?></strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$dirs[$i]));?></a></div>

Gruss noreway
 

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hi. also ersetzen musste ich an besagter stelle im script garnichts, sondern das was du in rot geschrieben hast zusätzlich einfügen. allerdings hat es leider nicht geholfen. den cache des browsers hatte ich zwischendurch gelöscht, um eventuelle veraltete anzeigeeigenschaften auszuschließen.

ein merkwürdiges phänomen :confused:

Edit: :D ich habe eine Lösung für das Problem gefunden: man darf keine Leerzeichen in den Ordnernamen verwenden, dann kommt es zu der Fehldarstellung. Ich habe alle Leerzeichen durch "_" ersetzt und siehe da, es funktioniert einwandfrei :D

Edit 2: eine kleine Einschränkung habe ich dann aber doch noch zu berichten: man kann die Namenslänge der Ordner nicht beliebig wählen, da ansonsten folgendes passiert:



aber das ist denke ich zu verkraften, angesichts der Tatsache, dass man in den seltensten Fällen so lange Ordnernamen hat.
 
Zuletzt bearbeitet:

noreway

Benutzer
Mitglied seit
16. Okt 2008
Beiträge
23
Punkte für Reaktionen
0
Punkte
0

Welle1983

Benutzer
Mitglied seit
14. Jul 2008
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
oh, nee, das in der letzten zeile hab ich übersehen.
habs nun kopiert und siehe da, alles schick!

vielen dank für deine hilfe, jetzt funktioniert alles wie es soll! :D
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat