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 程序员的调试技术小结
Nov 15 PHP
Admin generator, filters and I18n
Oct 06 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
php字符串过滤与替换小结
Jan 26 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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中路径问题的解决方案
2006/10/09 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Flask配置Cors跨域的实现
2019/07/12 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Django返回HTML文件的实现方法
2020/09/17 Python
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
自我评价范文点评
2013/12/04 职场文书
记账会计岗位职责
2014/06/16 职场文书
中学教师个人总结
2015/02/10 职场文书
军事博物馆观后感
2015/06/05 职场文书
消夏晚会主持词
2015/06/30 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python
vue使用echarts实现折线图
2022/03/21 Vue.js
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python