2010-09-24 15 views

risposta

5

È possibile: Scrivere una pagina di script lato server come PHP, JSP, ASP.net ecc per generare questo codice HTML in modo dinamico

o

Setup il web-server che si sta utilizzando (ad esempio, Apache) per fare esattamente questo automaticamente per le directory che non contiene welcome-page (ad esempio index.html)

in particolare in Apache Read more here: Modificare il httpd.conf: http://justlinux.com/forum/showthread.php?s=&postid=502789#post502789

o aggiungere il mod autoindex: http://httpd.apache.org/docs/current/mod/mod_autoindex.html

+0

Il server Apache è fuori dal mio controllo. '.htaccess' è disabilitato. Sono un vero novizio per questo, quindi un semplice esempio funzionante sarebbe apprezzato. –

+0

il tuo apache supporta PHP? devi usare apache che supporta la scrittura di script sul lato server altrimenti è impossibile .. – DuduAlul

+0

@MrOhad Come posso dire? –

2

Questo non può essere fatto con puro HTML.

Tuttavia, se si ha accesso a PHP sul server Apache (taggato il post "apache"), è possibile farlo con facilità - se the PHP glob function. In caso contrario, si potrebbe provare Server Side Include - è una cosa Apache, e io non ne so molto.

+0

Non ho mai scritto PHP. Se potessi dare un esempio funzionante per un codice HTML, posso inserirlo nella mia directory - sarebbe fantastico! –

1

Hai provato a consentire per questa directory tramite .htaccess?

Options +Indexes 

Io lo uso per alcuni dei miei directory dove elenco di directory è disabilitata per il mio fornitore di

+1

Questa è stata la mia prima scelta, ma il server Apache è fuori dal mio controllo e sembra che '.htaccess' sia disabilitato. Ottengo "Errore interno del server" quando aggiungo ".htaccess". –

20

Per me PHP è il modo più semplice per farlo:

<?php 
echo "Here are our files"; 
$path = "."; 
$dh = opendir($path); 
$i=1; 
while (($file = readdir($dh)) !== false) { 
    if($file != "." && $file != ".." && $file != "index.php" && $file != ".htaccess" && $file != "error_log" && $file != "cgi-bin") { 
     echo "<a href='$path/$file'>$file</a><br /><br />"; 
     $i++; 
    } 
} 
closedir($dh); 
?> 

Posto questo nella vostra directory e imposta dove vuoi che effettui la ricerca sul percorso $. La prima istruzione if nasconde il file php e .htaccess e il log degli errori. Visualizzerà quindi l'output con un collegamento. Questo è un codice molto semplice e facile da modificare.

+3

Ha funzionato come un fascino. – thefreeline

+5

Questo ha più vulnerabilità XSS memorizzate: i nomi di file possono contenere citazioni e < >, ecc. –

0

Per conoscere l'HTML è molto importante in quanto possiamo creare il nostro sito Web per le nostre necessità. È possibile creare un file index.html semplice DirectoryIndex index.html DirectoryIndex index.php

direttiva singolo

DirectoryIndex index.html index.php 

Partenza qui un modo semplice per imparare l'HTML in HTML Beautifier strumento che vi aiuta a abbellire o formatta il tuo codice HTML disordinato e poco chiaro per leggerlo chiaramente. Inoltre aiuta a praticare più set di codifica nello spazio dato. Se hai sbagliato a modificare, ti correggerà con il formato corretto. Inoltre è uno strumento molto utile per gli sviluppatori per trovare e correggere gli errori di esecuzione nel codice html nidificato.

8

Esistono motivi validi validi per disabilitare esplicitamente gli indici di directory automatici in Apache o altri server Web. Oppure, ad esempio, potresti voler includere solo determinati tipi di file nell'indice. In questi casi potresti comunque voler avere un indice generato staticamente.html file per cartelle specifiche.

Questo può essere facilmente ottenuto con tree - un'utilità minimalista che è disponibile sulla maggior parte delle distribuzioni di Linux (ad esempio ubuntu/debian: sudo apt install tree) e che tra le altre cose può generare output XML, JSON o HTML.

Generare una directory HTML indice di un livello profondo:

tree -H '.' -L 1 --noreport --charset utf-8 > index.html 

includere solo i tipi di file specifici che corrispondono a un modello glob, per esempio *.zip file:

tree -H '.' -L 1 --noreport --charset utf-8 -P "*.zip" > index.html 

L'argomento di -H è quello che verrà utilizzato come href di base, in modo da poter passare un percorso relativo, come . o un percorso assoluto dalla radice web, come /files . -L 1 limita l'elenco solo alla directory corrente.

volevo un generatore indice che ho potuto lo stile nel modo che volevo, così finito per usare this script - oltre ad avere uno stile personalizzabile, lo script sarà anche ricorsivamente generare il file index.html in tutte le sottodirectory nidificate.

+1

soluzione eccellente !!! se vuoi omettere le directory nel tuo file 'index.html', aggiungi' --prune' al comando 'tree' – MarcoS

Problemi correlati