php+javascript实现的动态显示服务器运行程序进度条功能示例


Posted in PHP onAugust 07, 2017

本文实例讲述了php+javascript实现的动态显示服务器运行程序进度条功能。分享给大家供大家参考,具体如下:

经常有这样的业务要处理,服务器上有较多的业务需要处理,需要分批操作,于是就需要一个提示客户现在完成进度的进度条。

这个是php+javascript的进度条。

<?php
//set_time_limit(0);    //注意,如果是安全模式,请不要打开,如果不是安全模式,这个选项可以打开
for ($i = 0; $i < 500; $i++) {
  $users[] = 'Tom_' . $i;
}  //end for
$width = 500;            //显示的进度条长度,单位 px
$total = count($users);       //总共需要操作的记录数
$pix = $width / $total;       //每条记录的操作所占的进度条单位长度
$progress = 0;           //当前进度条长度
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<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: 4px; padding: 8px; border: 1px solid gray; background: #EAEAEA; width: <?php echo $width+8; ?>px">
  <div><font color="gray">如下进度条的动态效果由服务器端 PHP 程序结合客户端 JavaScript 程序生成。</font></div>
  <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
//  最后将进度条设置成最大值 $width,同时显示操作完成
?>
<script language="JavaScript">
  updateProgress("操作完成!", <?php echo $width; ?>);
</script>
<?php
flush();
?>
</body>
</html>

运行效果如下:

php+javascript实现的动态显示服务器运行程序进度条功能示例

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

PHP 相关文章推荐
PHP新手上路(三)
Oct 09 PHP
生成静态页面的PHP类
Nov 25 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
php提高网站效率的技巧
Sep 29 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
简单实现PHP留言板功能
Dec 21 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
php实现socket推送技术的示例
Dec 20 PHP
php封装的mongodb操作类代码
Aug 06 #PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 #PHP
php mysql数据库操作类(实例讲解)
Aug 06 #PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 #PHP
PHP实现腾讯与百度坐标转换
Aug 05 #PHP
laravel5.4生成验证码的实例讲解
Aug 05 #PHP
CakePHP框架Model函数定义方法示例
Aug 04 #PHP
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
PHP抽象类 介绍
2012/06/13 PHP
YII实现分页的方法
2014/07/09 PHP
PHP的几个常用加密函数
2016/02/03 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
js实现蒙版效果
2020/01/11 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python 瀑布线指标编写实例
2020/06/03 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
C有"按引用传递"吗
2016/09/06 面试题
建龙钢铁面试总结
2014/04/15 面试题
探亲假请假条
2014/04/11 职场文书
技校毕业生自荐书
2014/05/23 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript