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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
php控制文件下载速度的方法
Mar 24 PHP
PHP生成器简单实例
May 13 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
PHP实现本地图片转base64格式并上传
May 29 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
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
python解析文件示例
2014/01/23 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
Golang与python线程详解及简单实例
2017/04/27 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
Python微信操控itchat的方法
2019/05/31 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
python图形界面开发之wxPython树控件使用方法详解
2020/02/24 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
大学生就业自荐信
2013/10/26 职场文书
播音主持女孩的自我评价分享
2013/11/20 职场文书
女大学生自我鉴定
2013/12/09 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
工程催款通知书
2015/04/17 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python