
Продолжая тему консоли…
Простой прогресс-бар на пхп… =)
<? class progressbar { private $escapeSequence = "\033[%sm"; private $text = ''; private $steps = 0; private $delim = ''; private $step = 0; private $maxchars = 70; public function __construct($steps=100,$text='',$delim='#',$maxchars=70) { $this->steps = abs($steps); $this->step = 0; $this->text = $text; $this->delim = $delim; $this->maxchars = $maxchars; $this->draw(); } public function update() { $this->step++; $this->redraw(); } private function draw() { print $this->text.' ['; $proc = round(($this->step/$this->steps)*100,0); $complete = $proc.'% complete'; $isuse = strlen($complete) + 4 + strlen($this->text); $max = $this->maxchars - $isuse; $dash = round($max*($proc/100)+1); $free = $max - $dash; if($dash>0) print str_repeat($this->delim,$dash); if($free>0) print str_repeat('-',$free); print '] '.$complete; } private function redraw() { $this->toPos(); $this->draw(); } private function toPos( $column = 1 ) { echo "\033[{$column}G"; } } ?>
Ссылки, где можно айти этот класс:
phpclasses.org





CharnaD
13 Дек, 2008
Я все хотел у себя на хостинге сделать CLI приложение, а там нельзя((
Alex Snet
14 Дек, 2008
CharnaD, могу предложить свой..
ВПС, если нужно…
0utPunk
17 Дек, 2008
Довольно интесный класс, давно хотел сам написать, да не успел) Как только пригодится, попробую обязательно.
Alex Snet
17 Дек, 2008
Буду рад, если поможет =)
Если что, то заходите почаще.. Скоро выложу сурцы как обрабатывать сложные мат расчеты и так далее.. =)