Sven Rautenberg: ab 5.2 fortschrittsanzeige möglich?

Beitrag lesen

Moin!

Deinen komplizierten Gedankengang mit dem zweiten Fenster und zwei Scripts kann ich irgendwie nicht nachvollziehen.

Ist aber ganz simpel, wenn man weiß, wie HTTP funktioniert: Erst der komplette Request, dann der Response.

Der Browser schickt die Dateien weg, und erst wenn er damit fertig ist, erhält er vom Server die Antwort. Das bedeutet, dass innerhalb dieser Antwort keinerlei Fortschrittsanzeige generiert werden kann, weil die ja erst nach Abschluß des Uploads erscheinen würde - was dem Prinzip einer Fortschrittsanzeige widersprechen würde.

In der Datei /main/rfc1876.c wurde vor reichlich 3 Wochen an verschiedenen Stellen Code eingefügt, der zum Thema passt (auch der CVS-Kommentar ("Added RFC1867 fileupload processing hook.")

Zumal RFC 1867 nichts in in Richtung "Fortschrittsbalken" definiert, sondern die RFC ist, die in Formularen den <input type="file"> eingeführt hat. Server- oder clientseitige Behandlung von Uploads ist nicht wirklich Thema der RFC.

passt dazu. Wenn ein Callback namens "php_rfc1867_callback" existiert, wird

dieser mehrfach mit diversen Daten des Uploads benachrichtigt.

Bleibt die Frage: Wann passiert das, und welchen Zustand hat das oder haben die Skripte auf dem Server dann?

Ich befürchte, dass man seine Fortschrittsbalkenvorfreude noch länger als bis zum Erscheinen von PHP 5.2 dämpfen muss.

Wie erwähnt: Ich halte es für ziemlichen Overkill, für so eine grundlegende Funktion wie dem Formularupload ein riesiges, aber zwingend notwendiges Konstrukt aus Fenstern/Frames, höchstwahrscheinlich Javascript und AJAX, Session-Management und häufigen Reloads bzw. HTTP-Streaming aufzubauen, wenn die einfachste Lösung doch ist, dass einfach der Browser einen besseren Fortschrittsbalken kriegen kann, wodurch auf einen Schlag alle Upload-Formulare profitieren würden, und nicht nur die, die aufgrund ihrer Technik auch grandios scheitern können.

- Sven Rautenberg

--
"Love your nation - respect the others."