Seite 1 von 1
in html python einbinden
Verfasst: Freitag 25. Mai 2007, 16:22
von killerforall
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 ;-)
Re: in html python einbinden
Verfasst: Freitag 25. Mai 2007, 17:14
von gerold
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
Hallo killerforall!
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:
Falls es der Apache ist und er ".htaccess"-Dateien unterstützt, dann solltest du jetzt beim Aufruf im Browser ein Inhaltsverzeichnis sehen.
mfg
Gerold

Verfasst: Samstag 26. Mai 2007, 12:44
von Y0Gi
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).
Verfasst: Samstag 26. Mai 2007, 13:40
von apollo13
Y0Gi 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).
Ich würde bei deinem PHP-Skript statt $SCRIPT_FILENAME allerdings $_SERVER['SCRIPT_FILENAME'] verwenden

Verfasst: Samstag 26. Mai 2007, 13:52
von Y0Gi
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...

Verfasst: Samstag 26. Mai 2007, 14:54
von apollo13
Hehe, muss gestehen; habe gar nicht gesehen, dass das Skript schon so alt ist
Verfasst: Sonntag 27. Mai 2007, 09:59
von killerforall
vielen dank, funktioniert super, ist genau das was ich gesucht habe :-D