Wie erreiche ich eine automatische Indexierung

Status
Für weitere Antworten geschlossen.

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
alles suchen hat mich bis jetzt leider nicht weiter gebracht, weshalb ich Euch mal einfach frage:
Wie erreiche ich beim Webserver eine automatische Indexierung eines bestimmten Ordners. Soll heißen:
Ich habe einen Ordner web/test im welchem einfach nur wild Dateien liegen, welche ich beim Aufrufen der Homepage mit dem Zusatz des Ordners automatisch in einer "Seite" ausgeben werden sollen. Dies sollte nach Möglichkeit ein Link sein, welcher mir anschliessend einen HTTP-Download ermöglicht.
Vielen Dank schonmal für einen Lösungsansatz

best regards
 

Trolli

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

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Wenn ich das jedoch richtig verstehe, würde durch die Verfügbarkeit der Icons der Dienst effektiv auf dem gesamten Server gehen. Das würde ich aber nach Möglichkeit eher nicht wollen. Mir schwebte eher eine Sache wie die Photostation vor, nur halt für Dateien, welche auf einer auszugebenen Datei verlinkt werden, sprich, ich schiebe Zeug in den einen bestimmten Ordner und der Index wird aktualisiert.

best regards
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
So wie ich das verstehe, macht der Zugriff auf die Symbole alleine nichts. Du musst immer noch im entsprechenden Web-Verzeichnis eine .htaccess Datei mit dem Inhalt
Code:
Options +Indexes
haben. Das funktioniert auch ohne die Symbole, da steht aber dann vor jedem Eintrag ein rotes x für das fehlende Symbol.

Am besten mal ausprobieren - so gut kenne ich mich damit leider auch nicht aus...

Trolli
 

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Danke, hattest Recht. Manchmal sind einfache Sache schon echt eine krux. Ich persönlich brauche die Icons auch nicht, weshalb ich jetzt einfach die htaccess drinne lasse und gut ist, vorallem, weil man den Inhalt so direkt per usr und pw sichern kann. Nochmal besten Dank!
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das folgende PHP-Skript (showdir.php) kann man auch für das Durchsuchen und Anzeigen von Verzeichnissen zum Zwecke des Downloads verwenden:

<style>
div {font:12px Calibri,Verdana,Arial; display:none}
a {text-decoration:none;color:#000}
.d {display:block}
</style>
<script>
document.getElementsByClassName = function(cl) { //simple getClass-Function
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {var classes = elem.className; if (myclass.test(classes)) retnode.push(elem);}
return retnode;
}
function show(e) {
cl=document.getElementsByClassName(e);
for (i=0; i<cl.length; i++) if (cl.style.display=='none') cl.style.display='block'; else cl.style.display='none';
}
</script>
<?php
function utf8_mydecode($html){ // reverse simple translation of german letters
$a = array("\xC3\xA4"=>'ä',"\xC3\xB6"=>'ö',"\xC3\xBC"=>'ü',"\xC3\x84"=>'Ä',"\xC3\x96"=>'Ö',"\xC3\x9C"=>'Ü',"\xC3\x9F"=>'ß');
return strtr($html,$a);
}
function treedir($path,$level='',$classpath='') {
$classpath1=preg_replace('/[\s|\.]/','_',$path);
//$classpath1=preg_replace('/[\s|\.|\/]/','_',$path); // variant of showing dir-leafs
print '<div class="'.$classpath.'"><a href="javascript:show(\''.$classpath1.'\')">'
.$level.substr(utf8_mydecode($path),strrpos(utf8_mydecode($path),'/')+1).'</a></div>';
$level.='   ';
if ($classpath=='') $classpath='d'; else $classpath=$classpath1;
$dirlist = scandir($path); natcasesort($dirlist); //ignore case
foreach($dirlist as $entry) {
if (!preg_match("/^\.{1,2}$/", $entry)) { // don't use . or .. for traversing the tree
if (is_dir($path.'/'.$entry)) treedir($path.'/'.$entry,$level,$classpath);
else print '<div class="'.$classpath.' "><a href="'.$path.'/'.$entry.'">'.$level.utf8_mydecode($entry).'</a></div>';
}
}
}
treedir($_REQUEST['path']);
?>


Am besten schriebt man das showdir.php-Skript direkt in den WEB-Ordner.
Der Aufruf wäre zum Beispiel bei einem Unterverzeichnis names 'download' im WEB-Ordner wie folgt:

showdir.php?path=download

Man bekommt dann eine Liste der obersten Ebene des Verzeichnisses und kann dann die Unterverzeichnisse aufklicken ... Beim Klick auf eine Datei beginnt der Download (wenns nicht gerade eine HTML/PHP/XML...-Datei ist :p)

Mit Hilfe der 'classpath'-Variablen kann man ein wenig spielen, ob immer alle Zweige direkt auf/zu-gemacht werden, oder halt anders. Bei mir sind es meist nur 3 Ebenen, da ist das fast egal. Viel Spaß damit.
 

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Hallo,
nachdem ich jetzt mal ein bisschen gesucht habe, habe ich festgestellt, dass die Lösungen mit php oder anderem meist mehr Arbeit verursachen, als einfach die Einstellungsmöglichkeiten von htaccess zu nutzen. Für andere, die ebenfalls einmal die Einstellungen entsprechend vornehmen wollen, empfehle ich noch einen Blick nach hier, da hier nochmal ausführlich alle Einstellungen von Apache htaccess dargestellt werden.
Für alle anderen noch der Tip bei einer Suche die Begriffe Fancy Indexing oder showdir zu nutzen, da diese meist brauchbarere Ergebnisse ergeben (Danke dafür nochmal an Itari und Trolli!)

best regards

Nochmal ein Edit:
Ich habe in meiner htaccess jetzt folgendes drinne

Options +Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst
IndexOptions -SuppressLastModified
IndexOptions SuppressDescription
IndexOptions SuppressIcon
IndexOptions IgnoreCase
IndexOptions VersionSort
IndexIgnore /..

Alle Parameter mit - sind inaktiv
 
Zuletzt bearbeitet:

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Nachdem ich jetz nochmal ein wenig rumgedoktort habe, habe ich nun dieses skript als .htaccess in meinem download Ordner

Options Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst

# Unterbindungen

IndexOrderDefault Descending Name
IndexOptions -SuppressLastModified
IndexOptions SuppressColumnSorting
IndexOptions SuppressDescription
IndexOptions -SuppressIcon
IndexOptions IgnoreCase
IndexOptions VersionSort
IndexOptions NameWidth=50
IndexIgnore /..

# Forcierung des Download (zumindest unter FF2.0)

<FilesMatch "\.(gz|pdf|zip|rar|mpg|mpeg|avi|divx)$" >
ForceType application/octet-stream
</FilesMatch>

# Einbindung von icons

IndexOptions IconsAreLinks
IndexOptions IconHeight=20 IconWidth=22
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/folder.gif ^^DIRECTORY^^
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/blank.gif ^^BLANKICON^^
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/blank.gif url URL
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/photo.gif gif jpg cr2 png psd
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/pdf.gif pdf
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/ziprar.gif zip rar
AddIcon /Pfad bis zum Ordner mit den Icons ab "web"/media.gif vob mpg mpeg avi divx gp3 mp3 wav m3u

# Passwortabfrage

AuthUserFile /volume1/web/Pfad bis zur Datei mit den Nuterdaten/.htuser
AuthName frei wählbar
AuthType Basic
<Limit GET>
require user nutzer1 nutzer2
</Limit>



Die von mir benutzten Icons findet ihr hier

Vielleicht nützt es ja dem einen oder anderen.

best regards
 
Zuletzt bearbeitet von einem Moderator:
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