<?php /** * Example for the usage of ezcConsoleProgressbar class. * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * * @package ConsoleTools * @version //autogen// * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 */ require_once 'Base/src/base.php'; /** * Autoload ezc classes * * @param string $className */ function __autoload( $className ) { ezcBase::autoload( $className ); } $out = new ezcConsoleOutput(); $out->formats->red->color = "red"; // Create progress bar itself $progress = new ezcConsoleProgressbar( $out, 100, array( 'step' => 5 ) ); $progress->options->emptyChar = '-'; $progress->options->progressChar = $out->formatText('>', "red"); $progress->options->formatString = "Uploading file </tmp/foobar.tar.bz2>: %act%/%max% kb [%bar%]"; // Perform actions $i = 0; while( $i++ < 20 ) { // Do whatever you want to indicate progress for usleep( mt_rand( 20000, 2000000 ) ); // Advance the progressbar by one step ( uploading 5k per run ) $progress->advance(); } // Finish progress bar and jump to next line. $progress->finish(); $out->outputText( "Successfully uploaded </tmp/foobar.tar.bz2>.\n", 'success' ); /* OUTPUT: (sequential, will be printed into 1 line and updated in reallife) Uploading file </tmp/foobar.tar.bz2>: 5/100 kb [++#----------------------------------------------] Uploading file </tmp/foobar.tar.bz2>: 10/100 kb [+++++#-------------------------------------------] Uploading file </tmp/foobar.tar.bz2>: 15/100 kb [++++++++#----------------------------------------] Uploading file </tmp/foobar.tar.bz2>: 20/100 kb [+++++++++++#-------------------------------------] Uploading file </tmp/foobar.tar.bz2>: 25/100 kb [++++++++++++++#----------------------------------] Uploading file </tmp/foobar.tar.bz2>: 30/100 kb [+++++++++++++++++#-------------------------------] Uploading file </tmp/foobar.tar.bz2>: 35/100 kb [++++++++++++++++++++#----------------------------] Uploading file </tmp/foobar.tar.bz2>: 40/100 kb [+++++++++++++++++++++++#-------------------------] Uploading file </tmp/foobar.tar.bz2>: 45/100 kb [++++++++++++++++++++++++++#----------------------] Uploading file </tmp/foobar.tar.bz2>: 50/100 kb [+++++++++++++++++++++++++++++#-------------------] Uploading file </tmp/foobar.tar.bz2>: 55/100 kb [++++++++++++++++++++++++++++++++#----------------] Uploading file </tmp/foobar.tar.bz2>: 60/100 kb [+++++++++++++++++++++++++++++++++++#-------------] Uploading file </tmp/foobar.tar.bz2>: 65/100 kb [++++++++++++++++++++++++++++++++++++++#----------] Uploading file </tmp/foobar.tar.bz2>: 70/100 kb [+++++++++++++++++++++++++++++++++++++++++#-------] Uploading file </tmp/foobar.tar.bz2>: 75/100 kb [++++++++++++++++++++++++++++++++++++++++++++#----] Uploading file </tmp/foobar.tar.bz2>: 80/100 kb [+++++++++++++++++++++++++++++++++++++++++++++++#-] Uploading file </tmp/foobar.tar.bz2>: 85/100 kb [++++++++++++++++++++++++++++++++++++++++++++++++#] Uploading file </tmp/foobar.tar.bz2>: 90/100 kb [++++++++++++++++++++++++++++++++++++++++++++++++#] Uploading file </tmp/foobar.tar.bz2>: 95/100 kb [++++++++++++++++++++++++++++++++++++++++++++++++#] Uploading file </tmp/foobar.tar.bz2>: 100/100 kb [++++++++++++++++++++++++++++++++++++++++++++++++#] Uploading file </tmp/foobar.tar.bz2>: 100/100 kb [++++++++++++++++++++++++++++++++++++++++++++++++#]Successfully uploaded </tmp/foobar.tar.bz2>. */ ?>