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 相关文章推荐
PHP开发框架总结收藏
Apr 24 PHP
PHP 5.3新特性命名空间规则解析及高级功能
Mar 11 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
php 抽象类的简单应用
Sep 06 PHP
PHP 登录记住密码实现思路
May 07 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
微信支付开发交易通知实例
Jul 12 PHP
AJAX的使用方法详解
Apr 29 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 PHP
Laravel-admin之修改操作日志的方法
Sep 30 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php短址转换实现方法
2015/02/25 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
使用JavaScript破解web
2018/09/28 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python检测生僻字的实现方法
2016/10/23 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Python读取stdin方法实例
2019/05/24 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
详解Python3中的 input() 函数
2020/03/18 Python
Python实现仿射密码的思路详解
2020/04/23 Python
如何在sublime编辑器中安装python
2020/05/20 Python
python 实现端口扫描工具
2020/12/18 Python
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
自我鉴定书面格式
2014/01/13 职场文书
《自然之道》教学反思
2014/02/11 职场文书
军训教官感言
2014/03/02 职场文书
文化建设工作方案
2014/05/12 职场文书
小学生通知书评语
2014/12/31 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python