also es geht darum, ich kann auf einen webserver dateien hinaufladen die dann jeder downloaden kann. dummerweise wird kein index in form einer html seite zur verfügung gestellt, dadurch weiss auch der besucher nicht welche dateien zum download zu verfügung stehen. er braucht die genaue adresse, dann geht es. was ich mir jetzt gedacht habe ist dass ich eine willkommenshtml schreibe die per klick eines buttons ein python programm ausführt welches den ordnern nach dateien durchsucht und automatisch eine html seite mit index erzeugt. somit kommt der besucher dann von der willkommenshtml auf die indexhtml. das problem ist jetzt folgendes, insofern ich mich bis jetzt nicht geirrt habe: python programm habe ich, wie muss meine willkommenshtml aussschauen die das python programm am server ausführt.
vielen dank im voraus und sorry für die umständliche umschreibung aber ich bin was python, cgi etc betrifft absoluter neebie ;-)
in html python einbinden
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo killerforall!killerforall hat geschrieben:also es geht darum, ich kann auf einen webserver dateien hinaufladen die dann jeder downloaden kann. dummerweise wird kein index in form einer html seite zur verfügung gestellt
Willkommen im Python-Forum!
Falls der Webserver ein Apache ist, dann könntest du versuchen, ob du die Index-Option des Apachen mit einer ".htaccess"-Datei einschalten kannst.
Das geht so:
Erstelle in dem Ordner, der die Daten enthält, die herunter geladen werden sollen, eine Datei mit dem Dateinamen ".htaccess". Der Punkt vor dem Dateinamen ist wichtig und darf nicht weg gelassen werden.
Schreibe das in die Datei und speichere sie ab:
Code: Alles auswählen
Options Indexes
IndexOptions FancyIndexing
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Da es doch recht viele Leute gebrauchen konnten, habe ich so etwas in PHP bereitgestellt.
In Python lässt sich das analog (aber hübscher) nachbauen: Verzeichniseinträge holen (``files = os.listdir()``) und als HTML-Links formatiert ausgeben.
Um es per CGI betreiben zu können, muss zunächst der Content-Type-Header ausgegeben werden, gefolgt von einer Leerzeile (Hinweis: `print` erzeugt implizit einen Zeilenumbruch, über ``sys.stdout.write()`` kann/muss das manuell geschehen).
In Python lässt sich das analog (aber hübscher) nachbauen: Verzeichniseinträge holen (``files = os.listdir()``) und als HTML-Links formatiert ausgeben.
Um es per CGI betreiben zu können, muss zunächst der Content-Type-Header ausgegeben werden, gefolgt von einer Leerzeile (Hinweis: `print` erzeugt implizit einen Zeilenumbruch, über ``sys.stdout.write()`` kann/muss das manuell geschehen).
Ich würde bei deinem PHP-Skript statt $SCRIPT_FILENAME allerdings $_SERVER['SCRIPT_FILENAME'] verwendenY0Gi hat geschrieben:Da es doch recht viele Leute gebrauchen konnten, habe ich so etwas in PHP bereitgestellt.
In Python lässt sich das analog (aber hübscher) nachbauen: Verzeichniseinträge holen (``files = os.listdir()``) und als HTML-Links formatiert ausgeben.
Um es per CGI betreiben zu können, muss zunächst der Content-Type-Header ausgegeben werden, gefolgt von einer Leerzeile (Hinweis: `print` erzeugt implizit einen Zeilenumbruch, über ``sys.stdout.write()`` kann/muss das manuell geschehen).
Richtig. Allerdings wurden $_SERVER und die anderen Superglobals erst wenige Monate vorher eingeführt und so schnell hatte sich das irgendwie nicht rumgesprochen. Entsprechend liegen da noch einige PHP-Scripte rum, die nicht auf dem aktuellen Stand sind, u.a. eben was Superglobals angeht.
Da sieht man übrigens einen der Schwachpunkte von PHP: Zukunftssicherheit. Und Sicherheit ist noch ein anderer
Zwar kann man die $HTTP_*_VARS- und register_globals-Geschütze weiterhin nutzen, aber anstatt sie nur deaktivierbar zu machen, wäre es meines Erachtens langfristig besser gewesen, sie nicht nur als deprecated zu erklären, sondern - spätestens mit PHP 5 - komplett rauszuwerfen. Dann muss Code vielleicht hier und da angepasst werden, aber mehrere Jahre alten PHP-Code produktiv einzusetzen, ist definitiv eine sehr, sehr schlechte Idee.
Aber ich will nicht zu weit abschweifen...
Da sieht man übrigens einen der Schwachpunkte von PHP: Zukunftssicherheit. Und Sicherheit ist noch ein anderer
Zwar kann man die $HTTP_*_VARS- und register_globals-Geschütze weiterhin nutzen, aber anstatt sie nur deaktivierbar zu machen, wäre es meines Erachtens langfristig besser gewesen, sie nicht nur als deprecated zu erklären, sondern - spätestens mit PHP 5 - komplett rauszuwerfen. Dann muss Code vielleicht hier und da angepasst werden, aber mehrere Jahre alten PHP-Code produktiv einzusetzen, ist definitiv eine sehr, sehr schlechte Idee.
Aber ich will nicht zu weit abschweifen...
-
- User
- Beiträge: 2
- Registriert: Freitag 25. Mai 2007, 12:46
vielen dank, funktioniert super, ist genau das was ich gesucht habe :-D