dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Variablen und Formulare

Wie erfahre ich den Status während eines Datei-Uploads?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Wenn ein HTML-Formular abgeschickt wird, nimmt der Webserver die enthaltenen Daten entgegen, stellt über das action-Attribut fest, welche Anwendung zuständig ist, startet diese Anwendung und übergibt ihr die empfangenen Daten. Das schließt zunächst jede Möglichkeit aus, den Benutzer über den Fortschritt des Uploads zu informieren.

RFC1867 File Upload Progress Hook

Die PECL-Erweiterung APC bietet jedoch seit der Version 3.20 in Verbindung mit PHP 5.2.0 oder aktueller einen Hook für den Upload von Dateien nach RFC1867, sofern PHP als Modul integriert ist. In Verbindung mit einer clientseitigen Skriptsprache, i.d.R JavaScript, lässt sich damit sehr wohl ein Fortschrittsbalken realisieren.

APC bietet mehrere Möglichkeiten, den Upload zu konfigurieren. Sie sind in der Installationsanleitung für APC beschrieben. Hier eine Übersetzung der betreffenden Optionen:

apc.rfc1867

Der RFC1867 File Upload Progress Hook ist nur verfügbar, wenn APC gegen PHP 5.2.0 oder neuer kompiliert wurde. Wenn diese Option aktiviert ist, erzeugt APC für jeden Datei-Upload, der ein Feld namens APC_UPLOAD_PROGRESS vor dem Dateifeld enthält, einen upload_<key>-Eintrag im Usercache, wobei <key> der Wert des APC_UPLOAD_PROGRESS-Formularfeldes ist.

Zu beachten ist, dass die Upload-Verfolgung derzeit nicht threadsafe ist. Uploads, die starten, während ein anderer Upload noch läuft, schalten die Verfolgung für den laufenden Upload ab.
(Default: 0)

apc.rfc1867_prefix

Präfix für den Usercache-Eintrag.
(Default: "upload_")

apc.rfc1867_name

Name des versteckten Formularfeldes, das die Upload-Verfolgung aktiviert und den Usercache-Schlüssel festlegt.
(Default: "APC_UPLOAD_PROGRESS")

apc.rfc1867_freq

Die Häufigkeit, mit der der Usercache mit den Informationen eines laufenden Uploads aktualisiert wird. Die Angabe kann ein Prozentsatz der Dateigröße sein oder eine Angabe in Bytes, optional mit nachgestelltem 'k', 'm' oder 'g' für Kilobytes, Megabytes bzw. Gigabytes. Der Wert 0 veranlasst, dass die Aktualisierung so oft wie möglich durchgeführt wird, was den Upload-Prozess verlangsamen kann.
(Default: 0)

Links

Die Reihenfolge der Links stellt keine Wertung dar.

Wie erfahre ich den Status während eines Datei-Uploads?
http://www.php-faq.de/q-formular-status.html
 

dclp FAQ


Login