amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Index Liste [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

28.09.2003, 00:31 Uhr

Roger
Posts: 990
Nutzer
Hallo Leute

Habe mal wieder eine ganz dumme frage.

Folgendes Problem beschäftigt mich:

Ich habe ein paar Dateien auf meinem Webspace liegen, für die ich extra eine Index.html erzeugt habe wo diese Daten auch drin aufgeführt sind.
So kann man die Daten dort sehen und auch gleich runterladen.

Nun ist es aber so, das in verschiedenen Abständen neue Daten hinzukommen und ich diese mühsamm immer in dieser Datei einfügen muss damit die dann auch vorhanden sind.

Nun gäbe es ja die Möglichkeit diese Dateien einfach in ein Verzeichniss zu laden und dann gar keine HTML Datei zu erstellen sondern einfach das Verzeichniss dann anzeigen lassen

so in diesem Stil http://www.ahs-amiga.ch/pps/

dies hier wäre die html Seite dazu:
http://www.ahs-amiga.ch/pps.html



doch das ist dann auch nicht das wahre.

Gibt es da eine andere schnelle und einfache Lösung?

Danke für euere Ratschläge
--
Die Schweizer Amiga Seite und Online-Shop:
http://www.ahs-amiga.ch


Das Schweizer Forum:
http://www.ahs-amiga.ch/php/index.php


Schweizer Amiga Club:
http://club.ahs-amiga.ch


Ein Besuch lohnt sich auf jeden Fall

[ - Antworten - Zitieren - Direktlink - ]

28.09.2003, 11:37 Uhr

HAK
Posts: 85
Nutzer
@ Roger,

Zitat:
Original von Roger:
Gibt es da eine andere schnelle und einfache Lösung?



Naja, etwas einfacher sollte es schon möglich sein.
Hier ein kleiner Denkanstoß, wie ich es - auf die schnelle - machen
würde:

Da sich bei deiner Indexseite immer nur der Mittelteil (der mit der
Auflistung) ändert, würde ich als erstes meine Seite in drei Teile
aufgliedern (z.B: index_kopf.txt; index_mitte.txt und
index_fuss.txt)

Danach würde ich mir eine Batchdatei schreiben, welche mittels "list",
"sort" und "join" aus dem Inhalt des Directories welches sich immer
ändert

a) den aktuellen Mittelteil generiert
b) diese Liste dann alphabetisch sortiert
c) die drei Texte (Kopf; generierter Mittelteil; Fuß) zu der
gewünschten HTML-Zeile zusammenfügt

Die Batch-Datei würde - grob gesehen - so aussehen:

--- cut here ---
CD <Hauptdirectory>
list pps lformat = "<p><a href='%s%s'>%c</a></p>" >ram:index_mitte_unsortiert.txt
sort ram:index_mitte_unsortiert.txt ram:index_mitte.txt
join <Pfad>index_kopf.txt ram:index_mitte.txt <Pfad>index_fuss.txt as index.html
--- cut here ---

"<Hauptdirectory>" ist hier das Directory in dem sich das "pps"
Verzeichnis befindet (damit die Pfadangabe korrekt ist).
"<Pfad>" ist der Pfad in dem du den fixen Kopf- und Fußteil
gespeichert hast.

Den Hauptteil der Arbeit erledigt die zweite Zeile (mit dem list
Befehl).
Hier wird mittels des lformat-Arguments die Zeilen aufgebaut.
Das erste %s wird durch den Pfad ersetzt; das zweite %s durch den
Filenamen und %c wird durch den Kommentar ersetzt.

Die sort-Zeile brauche ich, da list AFAIK nicht nach Namen sortiert.

Der einzige Unterschied zwischen unseren beiden Varianten ist, ist
derjenige, daß in meiner die Namen im HREF-Verweis nur in einfachem
Anführungszeichen "'" stehen; dies sollte aber AFAIK von HTML durchaus
erlaubt sein.
Wenn du das nicht magst, müßtest du dann entweder vor oder nach der
join-Zeile noch eine einfügen, welche einen Editor aufruft und eben
diese Anführungszeichen durch doppelte ersetzt.

Wenn du jetzt neue Dateien bekommst, brauchst du diese nur mehr in das
Verzeichnis kopieren, den Kommentar entsprechend deinen Wünschen zu
setzen und die Batchdatei aufrufen damit eine neue Indexseite
generiert wird.

So, ich hoffe ich habe dich genug verwirr.. äh dir genug geholfen,
damit du mit meinen Angaben etwas anfangen kannst.



Bye HAK

[ - Antworten - Zitieren - Direktlink - ]

28.09.2003, 13:34 Uhr

_PAB_
Posts: 3016
Nutzer
Wenn Du PHP benutzen kannst, wäre das nicht so schwer.
Da gibt es einige Beispiel-Skripte im Netz, einfach mal suchen nach "PHP directory listing".

[ - Antworten - Zitieren - Direktlink - ]

28.09.2003, 13:39 Uhr

Roger
Posts: 990
Nutzer
Hallo zusammen

Ich habe eure beiden Ideen gelesen und finde beide sehr gut.

Da ich ja die nächste Woche mehr als genug Zeit zum üben habe, werde ich mich mal zu beiden Varianten hinsetzen.

Die erstere klingt sicher komplizierter als es ist.
Ich nehme mal an, das du mit diesen %s die ich durch die Pfade ersetzen soll, du den Internet Pfad meintest.

Habe nämlich noch eine Email mit einem Hinweis bekommen, das dumme an dieser Version ist dann nur, das sich die Pfade immer auf meine Festplatte wo die Dateien liegen beziehen und nicht auf die Internetseite.

Werde aber wie gesagt mal beides versuchen und dann die einfachere Variante nehmen.

Danke schon jetzt für eure Hilfe
--
Die Schweizer Amiga Seite und Online-Shop:
http://www.ahs-amiga.ch


Das Schweizer Forum:
http://www.ahs-amiga.ch/php/index.php


Schweizer Amiga Club:
http://club.ahs-amiga.ch


Ein Besuch lohnt sich auf jeden Fall

[ - Antworten - Zitieren - Direktlink - ]

28.09.2003, 16:53 Uhr

Palgucker
Posts: 1342
Nutzer
Hallo Roger

ich glaube, das dieses Problem hier schonmal angeschnitten wurde.
Vielleicht hilft auch das weiter.

mfG Palgucker

[ - Antworten - Zitieren - Direktlink - ]

29.09.2003, 01:10 Uhr

HAK
Posts: 85
Nutzer
@ Roger,


Zitat:
Original von Roger:
Die erstere klingt sicher komplizierter als es ist.
Ich nehme mal an, das du mit diesen %s die ich durch die Pfade ersetzen soll, du den Internet Pfad meintest.



Nein, da habe ich mich anscheinend nicht gut genug ausgedrückt.

Wenn du "list" mit dem "lformat"-Argument benützt, kannst du diverse
Platzhalter definieren.

Die beiden %s in dieser Zeile werden automatisch vom list Befehl mit
dem Pfad und dem Dateinamen ersetzt und %c wird mit dem jeweiligen
Kommentar der Datei ersetzt.

Nehmen wir einmal an, deine RAM sieht folgendermaßen aus::

RAM:
+-Clipboards
+-ENV
+-PPS
...+-File1 (mit Kommentar "Name1")
...+-File2 (mit Kommentar "Name2")
...+-File3 (mit Kommentar "Name3")
+-T

Wenn mein aktuelles Directory RAM: ist, so bringt mir

list pps lformat="%s%s---%c"

folgendes Ergebnis:

pps/File1---Name1
pps/File2---Name2
pps/File3---Name3

Wie du siehst wird das erste %s automatisch durch das "pps/"ersetzt;
das zweite %s durch den jeweiligen Filenamen und das %c durch den
jeweiligen Kommentar; alle übrigen Zeichen (in diesem Fall hier das
"---") bleiben erhalten.

Wichtig ist in diesem Fall daß wir zuerst in das Hauptverzeichnis
(RAM: ) wechseln.
Wenn wir dies nicht machen, müßten wird den list Befehl ja auch den
vollständigen Pfad angeben wie z.B:

list RAM:pps lformat="%s%s---%c"

in diesem Fall wäre das Ergebnis aber

RAM:pps/File1---Name1
RAM:pps/File2---Name2
RAM:pps/File3---Name3

Das war das, was ich in meinem ersten Posting mit "cd
<Hauptverzeichnis>" gemeint habe, damit die Pfadangabe eben relativ
ist und nicht absolut.

Ach ja, da der list Befehl die Ausgabe nicht notwendigerweise
alphabetisch sortiert, haben wir ja das Ergebnis in eine temporäre
Datei hineingeschrieben, und diese dann mittels des Sort Befehles
sortiert - wobei eine genauere Angabe nicht notwendig ist, da der
Beginn jeder Zeile ja sowieso gleich ist.

Ich würde dir mal vorschlagen einfach ein bißchen mit dem list Befehl
und dem lformat Argument zu spielen, dann solltest du relativ schnell
erkennen, welche Möglichkeiten er bietet (unter anderem gibt es auch
noch Platzhalter für Dateiattribute, Länge etc...).

Schau doch mal nach, ob du zufälligerweise das Amiga Benutzerhandbuch
"AmigaDOS" bei dir herumliegen hast. Dort werden die Shell Befehle
genauer beschrieben (waren bei mir z.B: bei meinem A4000 enthalten).


So, ich hoffe, daß ich mich diesmal verständlicher ausgedrückt habe.



Bye HAK

[ Dieser Beitrag wurde von HAK am 29.09.2003 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

29.09.2003, 16:06 Uhr

Roger
Posts: 990
Nutzer
Danke für all eure Antworten.

Ich habe mir mehrere möglichkeiten angesehen. Für das PHP Script war ich wohl einfach zu dumm, denn ich habe es nicht zum laufen gebracht. :glow:

Habe nun eine andere Version gewählt.

Schaut es euch doch sonst mal an und sagt mir was ihr davon haltet

http://www.ahs-amiga.ch/pps.html
--
Die Schweizer Amiga Seite und Online-Shop:
http://www.ahs-amiga.ch


Das Schweizer Forum:
http://www.ahs-amiga.ch/php/index.php


Schweizer Amiga Club:
http://club.ahs-amiga.ch


Ein Besuch lohnt sich auf jeden Fall

[ - Antworten - Zitieren - Direktlink - ]

29.09.2003, 16:36 Uhr

tokai
Posts: 1071
Nutzer
Hä? Geht's noch komplizierter? :)

Wenn man PHP-Möglichkeit auf seinem Server hat, dann hat man meistens auch die Möglichkeit .htaccess Dateien anzulegen.

Einfach folgende Zeile(n) in eine leere Datei kopieren und als .htaccess abspeichern. Dann im ascii-Modus auf den Server in's entsprechende Verzeichnis übertragen und fertig. :)



Schaltet Verzeichnislisting ein:

Options +Indexes



Schaltet erweitertes Verzeichnislisting ein (mit Iconbildern etc.):

IndexOptions +FancyIndexing



Verhindert Anzeigen bestimmter Filetypen:

IndexIgnore *.gif *.jpg





regards,
tokai
--
this link sucks. :D

[ Dieser Beitrag wurde von tokai am 29.09.2003 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

29.09.2003, 17:44 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von tokai:
Schaltet erweitertes Verzeichnislisting ein (mit Iconbildern etc.):

IndexOptions +FancyIndexing

Wer's noch schoener haben will, kann folgendes machen:
code:
IndexOptions +FancyIndexing SuppressHTMLPreamble NameWidth=* DescriptionWidth=*
HeaderName /Pfad zu html-Fragment
ReadmeName /Pfad zu html-Fragment

Dann setzt der Server die Seite immer aus dem in HeaderName angegebenen Html-Anfang, der Dateiliste und dem in ReadmeName angegebenen Schluss zusammen.
Damit ist schon so ziemlich alles moeglich.

Der Header koennte z.B. so aussehen:
code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Meine Dateien - Download, etc.</title>
<link rel="stylesheet" type="text/css" href="meinStyle.css">
</head>
<body>
<table><tr><td> <!-- Navigationsleiste hier --> </td>
<td><!-- hier beginnt die Dateiliste -->


und das Readme so:
code:
<!-- hier endet die Dateiliste -->

</td></tr>
<tr><td colspan="2">Copyright, etc bla bla <!-- link zur Hauptseite -->
</td></tr>
</table>
</body>
</html>


mfg
--
Good coders do not comment. What was hard to write should be hard to read too.


[ Dieser Beitrag wurde von Holger am 29.09.2003 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Index Liste [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.