blackseabreathe
@blackseabreathe
brackets

Не получается отследить прогресс загрузки файла php?

Пытаюсь отследить процесс загрузки файла на php, но не выходит. А именно:

Простая форма

html
<form enctype="multipart/form-data" method="post" id="uploadVideo">
<input type="hidden" name="<? echo ini_get("session.upload_progress.name"); ?>" value="bar">
<input type="file" name="video[]">
<button type="button" name="send" class="uploadVideoBtn">Загрузить</button>
</form>


При клике на кнопку, через Ajax отправляется запрос на обработку и загрузку файла в upload.php Код приводить не стану чтобы не мусорить, файл загружается и все нормально работает

Далее при загрузке файла через Ajax, раз в секунду отправляется запрос в файл progress.php где происходит проверка на содержание информации о загрузке файла в сессии.

progress.php

php progress bar
<?

session_start();


$key = ini_get("session.upload_progress.prefix").'bar';


if(isset($_SESSION[$key])){
echo json_encode(['success' => 'yes'], JSON_UNESCAPED_UNICODE);
exit();
}

else{


echo json_encode(['error' => 'no'], JSON_UNESCAPED_UNICODE); // всегда выводится именно это - что такой ключ в сессии не существует
exit();
}


Пока загружается файл постоянно выводится сообщение "no, no, no, no...."

Помогите, пожалуйста, разобраться.

В phpini все настроено верно

phpini
session.upload_progress.cleanup Off On // тут и Off, и On пробовал, результат один и тот же
session.upload_progress.enabled On On
session.upload_progress.freq 1% 1%
session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_ upload_progress_


Fast CGI не используется, поддержка хостинга подтвердила
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы