PHP命令行进度条

单行、唯一 0     1672      服务端   0     0
灵感来自命令行跑脚本的时候,执行了四五个小时没有动静,等的心慌,也不知道啥情况,于是就搞了个进度条


方法:
/**
 * 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); }
命令行:php -f weiyi.php
MacBook-Pro:test weiyi$ php -f weiyi.php
结果图:





好啦,接下来你就试试吧,绝对好用的,你也可以自己改造下,符合自己的要求,下班下班


灵感来自命令行跑脚本的时候,执行了四五个小时没有动静,等的心慌,也不知道啥情况,于是就搞了个进度条


captcha
忘记密码? 注册
第三方登录
微信赞赏
支付宝赞赏