Wie kann ich Dateien in einem Verzeichnis mithilfe von HTML auflisten? Mit anderen Worten, ich möchte Dateien in einem Verzeichnis auflisten und sie in einem Browser anzeigen.Dateien in einem Verzeichnis mithilfe von HTML auflisten
Antwort
Kurze Antwort:
Nr
Etwas längere Antwort:
Dies ist kein HTML-Ausgabe, aber eine Web-Server-Konfiguration. Sie können einen Webserver so konfigurieren, dass der Verzeichnisinhalt angezeigt wird, sofern es sich um ein Verzeichnis handelt, auf das der Webbrowser zugreifen kann.
Wenn dies nicht der Fall ist, müssen Sie eine serverseitige Sprache verwenden, um das Verzeichnis zu lesen und den Inhalt im Browser aufzulisten (obwohl Sie trotzdem die entsprechenden Berechtigungen dafür benötigen).
Solche Server-Konfiguration wird auch allgemein als unsicher und schlechte Praxis angesehen, zuletzt habe ich auch überprüft ... –
@ mori57 - Nichts unsicher darüber. Wenn es etwas enthüllt, das in einem Sicherheits-Exploit verwendet werden könnte, dann ist das Problem das, was es aufgedeckt hat, nicht, dass es aufgedeckt wurde. (cf Sicherheit durch Dunkelheit) – Quentin
Ich schätze, es würde dann davon abhängen, wo Sie ausgesetzt waren. In jedem Fall ist es unwahrscheinlich, dass das bloße Erlauben des Verzeichnislistenzugriffs dem OP eine Auflistung gibt, die in Bezug auf Benutzerfreundlichkeit und Formatierung sehr "nett" ist, da die Verzeichnisliste normalerweise vom Server (Apache, IIS usw.) gehandhabt wird und nicht mit HTML, oder? Besser wäre es, eine dynamische Sprache (PHP, Perl, RoR, ASP.NET usw.) zu verwenden, um den Inhalt eines Verzeichnisses zu lesen und eine korrekte Markierung auszuspucken, richtig? –
Abhängig von Ihren Servereinstellungen (Sie müssen immer noch die Möglichkeit haben, das Durchsuchen eines bestimmten Verzeichnisses zu erlauben, um diesen Trick zu verwenden), gibt es eine Möglichkeit, einen Eintrag so aussehen zu lassen, wie Sie ihn haben wollen erfordert etwas mehr Arbeit (wie Quentin erwähnt), um etwas Stil zu bekommen, wie Sie es wollen.
In diesem Beispiel verwende ich jQuery, KnockoutJS und CSS, um den Inhalt eines Verzeichnisses zu lesen (ich mache keine serverseitigen Spezialtricks ... das ist der Standardverzeichnis-Listenmodus meines Apache-Servers Verzeichnislisten-Seite). Ich habe dies in eine sehr einfache HTML5-Seite eingefügt. Ich hatte einige Probleme damit, meine früheren Arbeitsversuche zu bekommen (wo ich einfach Elemente im laufenden Betrieb erstellte und sie zu einer Liste hinzufügte), da sie aus irgendeinem Grund nicht stylen würden. Als ich versuchte, mehr über die Verwendung von Knockout zu erfahren, schien das jedenfalls ein anständiger Testfall zu sein.
Mit Knockout: http://murphy.jascot.org/tests/dirlist.html
jedoch als Knockout wahrscheinlich auch Overkill dafür ist, habe ich eine Probe, die mit "plain" alten jQuery funktioniert, hier: http://murphy.jascot.org/tests/dirlist-noko.html
ich exzerpiert habe die nicht-Knockout-basierter Code unten:
HTML
<h1>Testing...</h1>
<button id="btnGet">.get</button>
<div class="shell">
<!-- This is the place we're going to build our list -->
<ul></ul>
</div>
CSS
<style type="text/css">
/* Obviously, none of this is necessary...
this is just to show that it can be done ...
I'm just putting some basic style on my shell
class, and the li's and a's within */
.shell {
width:300px;
}
.shell ul li {
list-style:none;
}
.shell a {
color: #232323;
display: block;
width: 100%;
height:30px;
margin: .5em 0;
background: #CFC;
padding: 5px 10px;
font-weight:bold;
border: 1px solid #999;
border-radius: 3px;
text-decoration:none;
}
</style>
Javascript
<!-- Get us some jQuery goodness! -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
// Setup our method to retrieve the file list
var getFiles = function(){
// Call the /dl/ directory, which should serve
// back the directory-listing default page
// NOTE: This WILL NOT work if you have your server's
// default index/home page in this folder, as that will
// be returned instead of a directory listing!
$.get("/dl/", function(data) {
// get a reference to the ul I want to populate
var $s = $(".shell ul");
// get a list of a tags from the returned data
var links = $(data).find("a");
// for each item in links...
links.each(function(){
// extract the href attr
var href = $(this).attr("href");
// filter out any links you don't want to display...
// in this case, I didn't want to display the
// sort-links and any links starting with a/
if(href.charAt(0) != "?" && href.charAt(0) != "/"){
// append a new li with an anchor tag inside
// it that has the href, and the link's text
$s.append("<li><a href=\"" + href + "\">" +
$(this).text() + "</a></li>");
}
});
});
};
// assign my click handler to #btnGet
$("#btnGet").click(getFiles);
});
</script>
Offensichtlich was Sie in Ihrem GetFiles Methode analysieren wird auf dem Markup abhängen, die Ihren speziellen Server verwendet, wenn den Inhalt eines Verzeichnisses Verzeichnis, so dass muss an Ihren eigenen Fall angepasst werden.
Auch das meiste davon kann machbar gemacht werden, wenn Sie Zugriff auf und eine Lernbereitschaft haben, eine serverseitige Sprache oder ein Framework wie Python, Ruby on Rails, PHP oder Perl. Aber das war ein lustiger Testfall mit mir zu spielen, also habt ihr es! :)
Arbeitete für mich, aber muss es ein wenig ändern, um die ul auf Get zu leeren. –
Funktioniert nicht mit Chrome 43, da JavaScript für die Dateien verwendet wird. Man müsste Zeilen wie ' '. Stattdessen habe ich '$ ('# hack') die Daten in ein verstecktes div geladen und nach Tags gesucht. – Thomas
- 1. Alle Dateien in einem Verzeichnis auflisten PHP
- 2. PHP - Auflisten und Öffnen von Dateien in einem Verzeichnis
- 3. Auflisten von Dateien in einem angegebenen Verzeichnis mit PL/SQL
- 4. Fehlende Dateien in einem Verzeichnis auflisten und zusätzliche Dateien löschen
- 5. Batchdatei; Dateien im Verzeichnis auflisten, nur Dateinamen?
- 6. Dateien von einem Ordner zum Download auflisten
- 7. Auflisten von Dateien in einem bestimmten Ordner
- 8. Auflisten von Dateien in Akka.net
- 9. Auflisten aller Dateien in einem Ordner mithilfe von JavaScript für die Automatisierung unter Yosemite
- 10. Auflisten von Dateien im Verzeichnis ohne den Pfad
- 11. Verschieben von Dateien im Verzeichnis mithilfe von QlikView
- 12. Auflisten eindeutiger Farben in einem HTML-Canvas
- 13. Alle Dateien in einem Homebrew-Paket auflisten
- 14. Löschen von Dateien im iOS-Verzeichnis mithilfe von Swift
- 15. Viele Dateien in einem Verzeichnis?
- 16. Verzeichnis auflisten und Dateien mit bestimmten Zeichenfolgen im Namen finden
- 17. Shell-Skript zum Auflisten von Dateien in einem bestimmten Verzeichnis und wenn es Dateien oder Verzeichnisse sind
- 18. Auflisten von Dateien in dem Papierkorb
- 19. Dateien auflisten und in einem Menü mit Bash anzeigen
- 20. Alle geöffneten Dateien auflisten
- 21. Wie kann ich (ls) die 5 zuletzt geänderten Dateien in einem Verzeichnis auflisten?
- 22. Wie kann ich Dateien, die gestern in einem Verzeichnis geändert wurden, über die Befehlszeile auflisten?
- 23. Alle Ordner im Verzeichnis auflisten
- 24. API zum Auflisten von Dateien auf einem Windows Mobile-Gerät
- 25. Auflisten von DLL-Dateien mit Powershell?
- 26. ls zum Auflisten von Übereinstimmungen im angegebenen Verzeichnis
- 27. SVN: Alle eingecheckten Dateien auflisten
- 28. Git: automatisch alle Dateien unter einem Verzeichnis
- 29. browserify/webpackify alle Dateien in einem Verzeichnis
- 30. Anzahl der Dateien in einem Verzeichnis abrufen
Wenn Sie zur Laufzeit dynamisch aufgelistet sind, müssen Sie eine serverseitige Sprache wie 'PHP' verwenden. –
Nicht dynamisch ist möglich mit 'tree -C -H" Domäne "-T" Titel "> Index.html – RSFalcon7
Das Schließen dieser Frage als "keine echte Frage" ist absurd und kontraproduktiv. Wenn Sie die Antwort nicht wissen, antworten Sie einfach nicht. –