php简单实现进度条

ob函数结合HTML代码简单实现进度条:

<?php
header('X-Accel-Buffering: no');    //关闭buffer
header('Content-type: text/html;charset=utf-8');    //设置网页编码
ob_start(); //打开输出缓冲控制
echo str_repeat(' ',1024*4);    //字符填充
//给div定义的宽为1000
$width = 1000;
//要显示的一段html的字符串
$html = '<div style="padding: 0; background-color: white; border: 1px solid navy; width: %upx"><div id="progress" style="padding: 0; background-color: #FFCC66; border: 0; width: 0px; text-align: center; height: 16px"></div></div><div id="percent" style="position: relative; top: -16px;left:-175px; text-align: center; font-weight: bold; font-size: 8pt">0%%</div>';

echo sprintf($html, $width, $width);
echo ob_get_clean();    //获取当前缓冲区内容并清除当前的输出缓冲
flush();   //刷新缓冲区的内容,输出
$length = 11;
for($i=0; $i<$length; $i++) {
    sleep(1);
    $proportion = ($i+1)/$length;
    if($i+1 == $length){
        $msg = '同步完成';
    }else{
        $msg = '正在处理';
    }
    $script = '<script>document.getElementById("percent").innerText="%u%%";document.getElementById("progress").style.width="%upx";</script>';
    echo sprintf($script, intval($proportion*100), intval(($i+1)/$length)*$width);
    echo ob_get_clean();    //获取当前缓冲区内容并清除当前的输出缓冲
    flush();   //刷新缓冲区的内容,输出
} 

以上代码就可以简单的实现进度条的进度了,进度条的颜色显示还有点不完善,待更新。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值