Anzeigebalken beim Fileupload
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktualisierung
anzeigen
beispiel
datei
ebenfall
erneutes aufrufen
erste
extra
fram
funktioniert session
gerade beschrieben
gerade hochgeladenen datei
hilfe
lord
opus
prozentzahl
session
spalt
spa
tabelle
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
dann hol dir den opera, dann siehste das
-
Ich benutzte aber leider den IE 6.0 und ich dneke es gibt auch noch ein paar andere M?glichkeiten ( hoff ich doch )
mfg mace -
er will einen eigenen machen und nicht hier den von lima nehmen ... der lord kann da nix machen ^^
Er braucht den Uploader besonders f?r seinen eigenen, gemieteten Webspace, und nicht f?r den kostenlosen hier auf lima....
Und IE benutzen seeehr viele Leute und da w?rs echt nicht schlecht, wenn der mit dem IE funktioniert und alles anzeigt -
Ich weiss nicht, ob das funktioniert bzw. funktionieren kann, aber vielleicht hat jemand Lust, es auszuprobieren:
Grundidee: Per pcntl_fork() einen weiteren Thread f?r das Uploadskript erstellen, in dem die Gr?sse der gerade hochgeladenen Datei immer wieder abgefragt wird.
Was brauche ich dazu:
HTML-Seite mit zwei Frames
PHP-Uploadskript
PHP-Anzeigeskript
MySQL Tabelle mit 3 Spalten
Beschreibung:
Die HTML-Seite f?rs Dateihochladen sollte zwei Frames haben. Der erste ist die eigentliche Seite, wo das Uploadformular und das restliche Zeug drin stehen. Im zweiten Frame wird nur die Fortschrittsanzeige angezeigt. Sobald im Browser auf den Submitbutton zum Start des Uploads gedr?ckt wird, wird der Frame mit der Fortschrittsanzeige neu geladen (per JavaScript) und damit das PHP-Anzeigeskript aufgerufen. Das PHP-Uploadskript wird ebenfalls aufgerufen.
Im Anzeigeskript passiert jetzt immer folgendes: Es fragt Werte in der Tabelle mit Hilfe der Session-ID ab. Die 3 Spalten der Tabelle sind: Session-ID, Gr?sse der Datei und Prozentzahl des Uploads. Diese Werte werden ausgegeben. Zur Aktualisierung des Anzeigeframes (erneutes Aufrufen des Anzeigeskripts) sollte dann nach 5 Sekunden die Seite aktualisiert werden (per JavaScript).
Wie kommt die Prozentzahl in die Tabelle:
Als erstes erzeugt das Uploadskript in der Tabelle einen neuen Eintrag mit Session-ID und Pfad und Namen der tempor?ren Datei. Das Uploadskript teilt sich dann per pcntl_fork() in zwei Threads auf. Der eine macht das ganz normale Uploadzeugs. Der andere ?berpr?ft immer, wie gross die tempor?re Datei ist, rechnet anhand der Dateigr?sse die Prozentzahl aus und tr?gt sie in die Datenbank ein.
Folgende (m?gliche) Probleme gibt es:
- Ist pcntl_fork() im SafeMode ?berhaupt m?glich?
- Werden globale Variablen vom Elternthread auch an das Kind (der Thread, der immer die Dateigr?sse ?berpr?ft) vererbt? Folgende Dinge m?ssen auch im Kindthread verf?gbar sein, damit das Ganze funktioniert: Session-ID und das $_FILES-Array.
- Kann die aktuelle Dateigr?sse der tempor?ren Datei gelesen werden, obwohl sie gerade beschrieben wird? Zu verwendende Funktion: filesize()
- Wie wird dem Kindthread mitgeteilt, dass das Uploadskript beendet ist? Wenn die Datei ganz hochgeladen wird, sollte das kein Problem sein, da einfach die im $_FILES-Array angegebene Gr?sse mit der Gr?sse der tempor?ren Datei verglichen werden kann. Sollte der Upload jedoch abgebrochen werden, h?tte man eine Endlosschleife. Die Datei k?nnte auch verschoben werden. Das Beenden des Kindsthreads k?nnte ?ber die Tabelle gesteuert werden (weitere Spalte extra daf?r).
Viel Spass beim Ausprobieren. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage