Реализация прогресс бара отображения процесса выполнения скрипта на PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/** * Прогресс бар * * @param int $done выполнено итераций * @param int $total всего итераций * @param string $info информационное сообщение * @param int $width ширина прогресс бара * * @return string */ function progressBar($done, $total, $info="", $width=50) { $perc = round(($done * 100) / $total); $bar = round(($width * $perc) / 100); return sprintf("%s%% [%s>%s] %s\r", $perc, str_repeat("=", $bar), str_repeat(" ", $width-$bar), $info); } // Тестируем $total = 15; for ($i = 1; $i <= $total; $i++) { echo progressBar($i, $total, 'какое-то сообщение', 80); sleep(1); } |