PHP实现的进度条效果详解


Posted in PHP onMay 03, 2016

本文实例讲述了PHP实现的进度条效果。分享给大家供大家参考,具体如下:
在做采集的时候,想通过php来实现一个进度条功能,谷歌了一下,找了个合适的代码。下面直接上代码:

PHP实现的进度条效果详解

<?php
//防止执行超时
set_time_limit(0);
//清空并关闭输出缓存
ob_end_clean();
//需要循环的数据
for($i = 0; $i < 188; $i++)
{
  $users[] = 'Tom_' . $i;
}
//计算数据的长度
$total = count($users);
//显示的进度条长度,单位 px 
$width = 500;
//每条记录的操作所占的进度条单位长度
$pix = $width / $total;
//默认开始的进度条百分比
$progress = 0;
?>
<html>
<head>
<title>动态显示服务器运行程序的进度条</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
body,div input {
  font-family: Tahoma;
  font-size: 9pt
}
</style>
<script language="JavaScript">
 <!-- 
 function updateProgress(sMsg, iWidth) 
 { 
  document.getElementById("status").innerHTML = sMsg; 
  document.getElementById("progress").style.width = iWidth + "px"; 
  document.getElementById("percent").innerHTML = parseInt(iWidth / <?php echo $width; ?> * 100) + "%"; 
  } 
 --> 
 </script>
</head>
<body>
  <div style="margin:50px auto; padding: 8px; border: 1px solid gray; background: #EAEAEA; width: <?php echo $width+8; ?>px">
    <div style="padding: 0; background-color: white; border: 1px solid navy; width: <?php echo $width; ?>px">
      <div id="progress"
        style="padding: 0; background-color: #FFCC66; border: 0; width: 0px; text-align: center; height: 16px"></div>
    </div>
    <div id="status"></div>
    <div id="percent"
      style="position: relative; top: -30px; text-align: center; font-weight: bold; font-size: 8pt">0%</div>
  </div> 
<?php
flush(); //将输出发送给客户端浏览器 
foreach($users as $user)
{
  // 在此处使用空循环模拟较为耗时的操作,实际应用中需将其替换; 
  // 如果你的操作不耗时,我想你就没必要使用这个脚本了 :) 
  for($i = 0; $i < 1000000; $i++)
  {
  }
  ?> 
<script language="JavaScript"> 
 updateProgress("正在操作用户 <?php echo $user; ?> ....", <?php echo min($width, intval($progress)); ?>);
</script>
<?php
  flush(); //将输出发送给客户端浏览器,使其可以立即执行服务器端输出的 JavaScript 程序。 
  $progress += $pix;
} //end foreach 
?> 
<script language="JavaScript"> 
  //最后将进度条设置成最大值 $width,同时显示操作完成 
 updateProgress("操作完成!", <?php echo $width; ?>); 
</script>
<?php
flush();
?>
</body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
mysql建立外键
Nov 25 PHP
PHP添加MySQL数据记录代码
Jun 07 PHP
一些使用频率比较高的php函数
Oct 03 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
php头像上传预览实例代码
May 02 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 PHP
php实现按天数、星期、月份查询的搜索框
May 02 #PHP
php支持断点续传、分块下载的类
May 02 #PHP
php数组分页实现方法
Apr 30 #PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 #PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 #PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 #PHP
php简单实现数组分页的方法
Apr 30 #PHP
You might like
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
PHP7.0版本备注
2015/07/23 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python中的ceil()方法使用教程
2015/05/14 Python
python实现12306火车票查询器
2017/04/20 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Python 图片处理库exifread详解
2021/02/25 Python
房屋维修协议书范本
2014/09/25 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
刑事起诉书范文
2015/05/19 职场文书
初中物理教学反思
2016/02/19 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
PHP新手指南
2021/04/01 PHP
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
JAVA API 实用类 String详解
2021/10/05 Java/Android
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android