Пример структуры массива прогресса загрузки.
<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,
),
)
);
?>