PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Console_ProgressBar | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

Console_ProgressBar

Console_ProgressBar は、 カスタマイズ可能なプログレスバーをコンソール/ターミナルに表示します。

プログレスバーの例


This will display a very simple bar:
=====================================================

A more complicated bar, showing current status in numbers as well:
* 3/7 [==========================>-------------------------------------]  42.86%

Showing elapsed time, and using ANSI codes:
   - 109/345 [========>------------------]  31.59% Elapsed Time: 00:03.94

Showing an estimate for the remaining time:
- 105/345 [============>-------------------------------]  30.43% ETA: 00:11.52
  1. require_once "Console/ProgressBar.php"

  2. Console_ProgressBar のインスタンスを作成します。

  3. 何らかの進捗があった時点で update() をコールします。

  4. 最後に erase() をコールします (オプション)。

単純なプログレスバーの例

<?php
require_once 'Console/ProgressBar.php';
$bar = new Console_ProgressBar('[%bar%] %percent%''=>'' '807);

// 何らかの処理を行います
for ($i 0$i <= 7$i++) {
    
$bar->update($i);
    
sleep(1);
}
echo 
"\n";
?>

[=======================================>                              ]  57.14%

バーの作成

この例では、5 個のパラメータを使用してプログレスバーのインスタンスを作成します。 使用するパラメータは format stringbar stringempty stringconsole width および target number です。

最初のパラメータ format string は、プログレスバー全体のレイアウトを指定します。 任意の文字のほかに、置換用の変数を指定することができます。

  • %bar% が実際のプログレスバーです。

  • %current%update() で設定する実際の値です。

  • %max% は、コンストラクタで設定した最大値 (target number) で置き換えられます。

  • %fraction%%current%/%max% と同じ値です。

  • %percent% は進捗状況をパーセントで表したものです。

  • %elapsed% は経過時間です。

  • %estimate% は、完了までの予測時間です。

二番目の引数は、プログレスバーで使用する文字列です。上の例では "=>" を指定しています。指定した文字列が短すぎる場合 (この例の "=>" のように)、必要な長さを埋めるために、 一番左の文字が繰り返されます。指定した文字列が長すぎる場合、 余分な文字は左側から切り詰められます。

三番目の引数は、プログレスバーの「空欄」の位置を埋める文字列です。 上の例では "-" を指定しています。指定した文字列が短すぎる場合 (この例の "-" のように)、必要な長さを埋めるために、 一番右の文字が繰り返されます。指定した文字列が長すぎる場合、 余分な文字は右側から切り詰められます。

四番目の引数では表示幅を指定します。通常のコンソール/ターミナル の幅は 80 文字なので、ここでは 80 を渡しています。 現時点では、ターミナルの文字幅を取得するメソッドはありません。

五番目の引数は、プログレスバー全体が表す数値です。 たとえば 115 KB の大きさのファイルのダウンロード時にプログレスバーを表示するなら、 ここで 115 を指定します。

更新および完了

プログレスバーの設定が終わったら、実際の作業 (ファイルのアップロードや ダウンロード、何らかの計算など) をはじめることができます。 進捗があったたびに update() をコールし、現在の処理状況を指定します。

最後まで終わったら、画面からプログレスバーを消去します。これには erase() を使用します。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「Console_ProgressBar」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Console_ProgressBar」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: