PHP: Как использовать сессию на одной странице, пока загружается другая страница с сессией

Я использую CURL для загрузки большого файла с внешнего URL-адреса и сохранения его на моем сервере. Это может занять несколько минут. Пока идет загрузка, яиспользуя curl_setopt ($ ch, CURLOPT_PROGRESSFUNCTION, .., чтобы запустить анонимную функцию, которая периодически обновляет мой $ _SESSION ['download_progress'] переменная с текущей информацией о загрузке.

Теперь все это происходит в файле upload.php, и пока пользователь ожидает загрузки файла, я использую javascript для запроса страницы progress.php, которая содержит следующий простой код:

session_start();
echo $_SESSION['download_progress'];

Это позволяет моему коду JavaScript отображать информацию о ходе загрузки.

Кроме этогоне работает.

"progress.php» страница выигралазагрузить доupload.php» Завершение загрузки (другими словами, обе страницы загружаются только после завершения загрузки файла), и это не очень хорошо. Session_start () каким-то образом блокируетprogress.php» страница с загрузки. Я использую свой собственный сервер (apache + php 5.4), поэтому у меня есть все права администратора.

Как я могу решить эту проблему? Я мог бы использовать некрасивый обходной путь, например записать информацию о загрузке в текстовый файл вместо переменной сеанса, а затем использовать javascript для непосредственного чтения этого текстового файла, но я бы предпочел этого не делать.

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос