【PHP】ターミナル で処理の実行をカッコよく表示する方法!

php PHP

今回は、ターミナル上で処理を実行したときに、処理がどのぐらい進んでいるか見えるようにする方法を記します。

何かをインストールするときにどのぐらいインストールが完了したか表示されますよね。今回は、それをつくっていきます。

完成は、上記の画像の通りです。
処理が進むとハッシュ「#」が増える仕組みで、右側の数字が、
全体のうちどのぐらい進んだかを数字で表示しています。

 

スポンサーリンク




では、コードを貼ります。

これで、

php index.php

とターミナル 上で実行してあげれば完成です。

$cuiLengthは、ハッシュ(#)の個数です。
$processLengthは、処理全体の数です。今回の場合は1080です。
そして、$cuiLength分出力されるようにif文で

$i%($processLength/$cuiLength) == 0

このように処理しています。

str_repeat(" ",$cuiLength - $i/($processLength/$cuiLength))

は、空白の数をハッシュの数と反比例させています。
これは、ハッシュの横側の数字が、ハッシュの数が増えるとともに移動するのを防ぐためです。

usleep(50000);

そして、今回は、処理が全くないため、usleepを使って遅延させています。
sleepとの違いはマイクロ秒単位で実行できるかできないかです。

以上です。ありがとうございました。

コメント

スポンサーリンク




タイトルとURLをコピーしました