Thread CGI mit sleep()
(15 answers)
Opened by kimmy at 2011-05-16 09:58
Eine "wachsende" HTML Seite ist eine schlechte Lösung.
Das funktioniert nur mit einigen Browsern und nicht alle Server unterstützen das. Das ist "veraltete" Technik. Eine eine Idee ist den STDOUT zu flushen use IO::Handle; STDOUT->autoflush(1); und dann den Inhalt immer weiter zu schreiben und zu hoffen der Browser fängt schon an alles darzustellen bevor die Seite fertig geladen ist. Die Andere einen speziellen Multipart-Header zu senden, den nur Browser verstehen, die von Netscape abstammen. Jeder Part ist eine HTML-Seite bei dem der Fortschrittsbalken größer geworden ist. Besser: - cgi 1 legt Datei an uns schreibt rein wie weit der Upload ist - cgi 2 ließt die Datei und wird regelmäßig aufgerufen (siehe "redirect") - Damit die Datei immer vollständig ist, muss sie beim Schreiben/lesen gelockt (siehe lock) werden. - Damit mehrere Uploads funktionieren muss der Dateiname einzigartig für einen Upload sein. Zu allem gibt es Beispiele im Forum und im Netz. |