Beispiel für den Formularaufbau des Upload-Fortschritts.
   
<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>
 
   
    Die gespeicherten Daten in der Session sehen wie folgt aus:
   
<?php
$_SESSION["upload_progress_123"] = array(
 "start_time" => 1234567890,   // Anfragezeitpunkt
 "content_length" => 57343257, // POST-Gesamtdatenmenge (in Bytes)
 "bytes_processed" => 453489,  // Menge der empfangenen und verabreiteten Daten (in Bytes)
 "done" => false,              // true, wenn die POST-Datenverarbeitung beendet ist (erfolgreich oder nicht)
 "files" => array(
  0 => array(
   "field_name" => "file1",       // Name des <input/>-Feldes
   // Die nächsten drei Elemente entsprechen den Angaben in $_FILES
   "name" => "foo.avi",
   "tmp_name" => "/tmp/phpxxxxxx",
   "error" => 0,
   "done" => true,                // true, wenn die POST-Datenverarbeitung dieser Datei beendet ist
   "start_time" => 1234567890,    // Zeitpunkt, an dem die Verarbeitung der Datei begonnen hat
   "bytes_processed" => 57343250, // Anzahl der empfangenen und verarbeiteten Daten dieser Datei (in Bytes)
  ),
  // Eine weitere Datei, die noch nicht komplett hochgeladen ist, in derselben Anfrage
  1 => array(
   "field_name" => "file2",
   "name" => "bar.avi",
   "tmp_name" => NULL,
   "error" => 0,
   "done" => false,
   "start_time" => 1234567899,
   "bytes_processed" => 54554,
  ),
 )
);