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程序实现支持页面后退的两种方法
Jun 30 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php 不使用js实现页面跳转
Feb 11 PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
php 7新特性之类型申明详解
Jun 06 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
laravel框架语言包拓展实现方法分析
Nov 22 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
PHP扩展CURL的用法详解
2014/06/20 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
python enumerate函数的使用方法总结
2017/11/15 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
Python for循环与range函数的使用详解
2019/03/23 Python
python代码能做成软件吗
2020/07/24 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
python不同版本的_new_不同点总结
2020/12/09 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
linux面试题参考答案(11)
2012/05/01 面试题
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
企业总经理岗位职责
2014/02/13 职场文书
班班通校本培训方案
2014/03/12 职场文书
美术指导求职信
2014/03/17 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
支部书记四风对照材料
2014/08/28 职场文书
材料物理专业求职信
2014/09/01 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
旷工辞退通知书
2015/04/17 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL