Как узнать процент прошедшего времени? Отображаю посетителю количество % прошедшего времени в виде полосы загрузки.
Есть:$NOW = unixtime, текущее время$START = unixtime, момент, когда началось действие$INTERVAL = интервал, 600 (10 мин.)$TOTAL = всего процентов должно быть на шкалеДля вычисления прогресса пишу:$progress = $TOTAL - ($TOTAL- ($NOW - $START) / $INTERVAL * $TOTAL);
/*echo 'Осталось: ' . date('i мин. s сек.', $START + $INTERVAL - $NOW);*/
Не допустил ли я ошибку при вычислении % прогресса?

21 Авг 2019 в 06:13
144 +1
0
Ответы
1

Да, у вас ошибка в формуле вычисления прогресса. Правильная формула будет выглядеть следующим образом:

$progress = (($NOW - $START) / $INTERVAL) * $TOTAL;

Эта формула вычисляет процент прогресса на основе временного интервала, прошедшего с момента начала действия.

Также вы можете добавить проверку на максимальное значение 100% для случая, если время превысит заданный интервал:

if ($progress > $TOTAL) {
$progress = $TOTAL;
}

Теперь вы сможете корректно отображать процент прогресса на вашей полосе загрузки.

20 Апр 2024 в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир