Пример структуры массива прогресса загрузки.
   
<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>
 
   
    Данные, которых хранятся в сессии, будут выглядеть вот так:
   
<?php
<?php
$_SESSION["upload_progress_123"] = array(
    "start_time" => 1234567890,   // Время начала запроса
    "content_length" => 57343257, // Длина содержимого POST-запроса
    "bytes_processed" => 453489,  // Количество байтов, которые получил и обработал запрос
    "done" => false,              // После завершения обработки POST-запроса значение изменится на true,
                                  // независимо от того, успешно или нет завершилась обработка
    "files" => array(
        0 => array(
            "field_name" => "file1",       // Значение атрибута name поля <input/>
            // Следующие 3 элемента соответствуют элементам суперглобального массива $_FILES
            "name" => "foo.avi",
            "tmp_name" => "/tmp/phpxxxxxx",
            "error" => 0,
            "done" => true,                // Элемент получает значение true, когда обработчик POST-запроса
                                           // закончил обработку файла
            "start_time" => 1234567890,    // Время начала обработки файла
            "bytes_processed" => 57343250, // Количество байтов, которые запрос получил и обработал для файла
        ),
        // Ещё один файл, загрузка которого ещё не закончилась в том же запросе
        1 => array(
            "field_name" => "file2",
            "name" => "bar.avi",
            "tmp_name" => NULL,
            "error" => 0,
            "done" => false,
            "start_time" => 1234567899,
            "bytes_processed" => 54554,
        ),
    )
);
?>