编程语言
首页 > 编程语言> > php命令行进度条实现

php命令行进度条实现

作者:互联网

/**

* PHP命令行执行php文件的时候显示执行进度条

* 调用方法:cmd_progress_bar(100,2);表示进度为2%;

* @param $total 总进度数量

* @param $current 当前进度数量

* @param string $begin_str 开始执行提示语

* @param string $finished_str 完成时候的提示语

* @param int $begin_num 从哪个进度开始,默认1

* @param int $screen_width 进度条宽度,默认50等分,可以100等分, 如果窗口超出等分字符串就会失效

*/

function cmd_progress_bar($total,$current,$begin_str='开始',$finished_str='结束',$begin_num=1,$screen_width=50){
        if($begin_str&&$current==$begin_num){
        echo PHP_EOL . PHP_EOL . date('Y-m-d H:i:s') . ':' . $begin_str . PHP_EOL;
        
        }
        
        printf(" 进度: [%-".$screen_width."s] %d%% \r", str_repeat('=',$current/$total*$screen_width) . '>', $current/$total*100);
        
        if($finished_str&&$total==$current){
        echo PHP_EOL . date('Y-m-d H:i:s') . ':' . $finished_str . PHP_EOL . PHP_EOL;
        
        }

}

$total = 100;

for ($i = 1; $i <= $total; $i++) {
cmd_progress_bar($total,$i);

sleep(1);

}

 

标签:begin,php,命令行,进度条,param,EOL,str,total,PHP
来源: https://blog.csdn.net/qq_34701838/article/details/121410030