bar_id = uniqid('progressbar'); $this->label = $label; $this->max_ticks = $max_ticks; $this->ticks = 0; } public function tick() { $this->ticks++; $this->draw_progress(); } public function draw() { $this->draw_bar(); $this->draw_progress(); } static public function draw_css() { echo ' '; } protected function draw_bar() { echo '
'; echo ' '; $this->flush(); } protected function draw_progress() { $width = round($this->ticks / $this->max_ticks * 100, 2); $label = sprintf($this->label, $this->ticks, $this->max_ticks); echo ' '; $this->flush(); } protected function flush() { while(ob_get_level() > 0) { ob_end_flush(); } flush(); } } ?>